Shiro授权
配置shiro.ini
#对用户信息进行配置
[users]
#用户名账号和密码
#配置规则:用户账号=密码
admin=123456
#对权限信息进行配置
[roles]
#角色和权限
#配置规则:角色权限1,权限2,权限字符串可以使用通配符配置
#管理员能够对用户和角色进行所有操作
管理员=user:,role:
#客户经理只能对用户进行列表和详情的查看操作
客户经理=user:list,user:view123456789101112
授权流程
1.首先调用Subject.isPermitted*/hasRole接口,其会委托给SecurityManager,而SecurityManager接着会委托给Authorizer
2.Authorizer是真正的授权者,如果我们调用如isPermitted(“user:view”),其首先先会通过PermissionResolver把字符串转换为相对应的Permission实例;
3.在进行授权之前,其会调用对应的Realm获取Subject对应的角色/权限用于匹配传入的角色/权限
4.Authorizer会判断Realm的角色/权限是否加入和传入的匹配,如果有多个Realm,会委托给ModularRealmAuthorizer进行循环判断,isPermitted/hasRole*如果匹配会返回true,否则返回false表示授权失败
Shiro授权
最新推荐文章于 2022-08-29 11:04:03 发布