1、Authentication认证 – 用户登录
2、Authorization授权-- 用户具有哪些权限
(1) 、编程式:通过写if/else 授权代码块完成
(2)、注解式:通过在执行的Java方法上放置相应的注解完成,没有权限将抛出相应的异常,
例如:@RequiresPermissions 需要权限、@RequiresUser 需要登录,表示当前 Subject 已经身份验证或者通过记住我登录的
(3)、JSP/GSP 标签
3、Cryptography安全数据加密
4、Session Management 会话管理
5、Web Integration web 系统集成
1、前台传入 用户名 和密码
2、自定义ShiroToken类 继承 UsernamePasswordToken(shiro官方提供),重写ShiroToken方法,将用户名和密码传入
3、shiro会返回一个token
4、开始登录通过shiro提供的login方法,将token传进去, SecurityUtils.getSubject().login(token);
5、通过Authenticator认证(通过数据库查询校验用户名和密码)
6、自定义login方法,目的每登录一次记录下登录ip、登录次数等登录日志信息。
7、自定义ShiroRealm 授权类继承 AuthorizingRealm
流程图: