Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
Shiro 主要分为来个部分就是认证和授权,在个人感觉来看就是查询数据库做相应的判断而已,Shiro只是一个框架而已,其中的内容需要自己的去构建,前后是自己的,中间是Shiro帮我们去搭建和配置好的
shiro的组成
认证Authenticator,
授权Authorizer
session管理SessionManager
CacheManager即缓存管理
Cryptography即密码管理
shiro的认证过程
1 客户发送请求,shiro的filter拦截请求,
2 shiro调用自定realm中认证方法进行认证
3 shiro自定义realm的认证方法根据用户名,获取权限,判断是否有权限
权限认证的三种方式
1.使用URL实现权限控制
spring配置shirofiter配置url验证规则
2.使用注解实现权限控制
@RequiresPermissions({“ceshi.test”})
@RequiresRoles(“adminRole”)
3.使用shiro标签进行权限控制
Shiro的主要框架图如下:
Shiro中默认的过滤器