三、Apache Shiro

一、介绍

三、Apache Shiro_第1张图片
主要组件


三、Apache Shiro_第2张图片

二、身份认证

三、Apache Shiro_第3张图片
身份认证的流程

三、授权:访问控制,在应用中谁能访问哪些数据,比如访问页面、编辑数据、页面操作等。授权中主要包含以下对象:

3.1 主体(Subject):访问应用的用户。用户只有授权后才能访问相应的资源。

3.2 资源(Resource):在应用中用户可以访问的资源

3.3 权限:在应用程序中明确的申明了被允许的行为和表现。清晰的表现用户对该资源拥有的权限。通常的做法是将权限分配给某个角色,然后角色关联一个或多个用户

3.4 角色:一个角色拥有一个权限的集合,授权验证时需要判断当前角色是否拥有该权限


三、Apache Shiro_第4张图片
授权的流程图

四、权限拦截

三、Apache Shiro_第5张图片
权限拦截

五、会话管理


三、Apache Shiro_第6张图片
会话管理的类图


三、Apache Shiro_第7张图片
权限缓存的类图

六、Shiro Case

6.1 新建spring boot项目,并引入依赖包。这里主要是如下两个依赖包




    org.apache.shiro




    shiro-core




    1.2.3




    org.apache.shiro




    shiro-spring




    1.2.3




6.2 新建User类、Permission类、Role类,如下:

6.3 实现认证和授权相关的类:自定义AuthRealm,继承AuthorizingRealm。

三、Apache Shiro_第8张图片
三、Apache Shiro_第9张图片

6.4 实现密码验证功能的重写

三、Apache Shiro_第10张图片

6.5 加载以上的配置文件 

6.6 在授权的类里我们在SimpleAuthorizationInfo里注入了RoleList。然后在ShiroFilter里做如下配置,即可完成不同角色访问不同接口的Case。

三、Apache Shiro_第11张图片
三、Apache Shiro_第12张图片

你可能感兴趣的:(三、Apache Shiro)