shiro介绍和使用

什么是shiro: shiro是apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权、会话管理等。

shiro的功能:

1、Authentication  认证 -- 用户登录
2、Authorization  授权  -- 用户具有哪些权限
      (1) 、编程式:通过写if/else 授权代码块完成
      (2) 、注解式:通过在执行的Java方法上放置相应的注解完成,没有权限将抛出相应的异常,
                例如:@RequiresPermissions 需要权限、@RequiresUser 需要登录,表示当前 Subject 已经身份验证或者通过记住我登录的
      (3) 、JSP/GSP 标签
3、Cryptography  安全数据加密
4、Session Management 会话管理
5、Web Integration web 系统集成

shiro框架登录流程

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

流程图:

在Realm中存储授权和认证的逻辑,认证过程:

 

 

 

posted @ 2021-03-06 15:11  My--style  阅读(104)  评论(0)    收藏  举报