最近SpringBoot项目安全策略是采用比较流行的shiro框架,是我做的第一个springBoot项目,也是第一次使用shiro。
废话不多说,框架是公司大佬设计的:
在查看日志方法上面加了RequiresPermissions。那么只有当用户拥有这个sys:log:content字符串时才能访问此方法。
那怎么知道用户拥有这个字符串呢?????
自己必须定义一个方法
继承抽象方法 org.apache.shiro.realm.AuthorizingRealm 实现其抽象类doGetAuthorizationInfo方法即可;这样框架就会取到用户权限列表。。。
然后在org.apache.shiro.realm.AuthorizingRealm
找到此方法 implies便是shiro权限校验的核心:
这段代码感觉思维真的不是我能想到的。。。虽然看起来很简单 大家有兴趣可以debug跟跟看。
还有用shiro的话一般会用到它的 登录认证 (Authentication)以及 权限验证(Authorization) 2个单词极其相似。。。 登录认证简称authc 权限验证简称authz