一、什么是shiro
1、Apache的强大灵活的开源安全框架
2、主要应用在认证、授权,会话管理、安全加密、缓存管理。
二、Shiro与Spring Security对比
Shiro安全框架:简单灵活、可脱离Spring 独立存在、粒度较粗
Spring Security :复杂笨重、必须依托与Spring、粒度较细
由于权限管理模块一般都是在资源一层,如果更深一层的话,则可能会与业务代码进行耦合,故提倡Shiro做权限管理,Spring官网也是用Shiro进行的权限管理。
三、Shiro整体架构
Shiro也是通过Security Manager提供安全服务
Authenticator 认证器 管理登入登出
Authorizer 授权器 赋予主体有哪些权限
Session Manager 自己实现的session管理
Session Dao 对Session进行增删改查
Cache Manager 缓存管理 可以缓存角色数据、权限数据
Cryptography :数据加密
3.1 shiro 认证
创建SecurityManager对象---》主题提交认证 ----》SecurityManager认证----》Authenticator认证----》realm验证
3.2 shiro 授权
创建SecurityManager---->主题授权------>SecurityManager授权------->Authorizer授权--------->Realm获取角色权限数据