大神求指教
问题描述:
1.用数据库的权限码无效(放入集合无效)
2.手动添加权限可以使用(类似于:authorizationInfo.addStringPermission(“aa”))
无效情况一:
List<String> list=new ArrayList<String>();
for (Functions func : functions) {
list.add(func.getFuncCode());
}
authorizationInfo.addStringPermissions(list);
直接不验证授权,点那都可以访问。
有效情况:手动添加权限码
Set<String> perring=new HashSet<>();
perring.add("aa");
perring.add("bb");
authorizationInfo.addStringPermissions(perring);
在排除配置错误情况下:检查表设计问题,我的权限码设计模式是
system
system:role
system:function
system:user
system:user:update
…
我检查很久终于发现:在shiro中授权识别是默认加*的。
比如:你的权限中含有:system 那么就相当于 system : * 。
产生的效果就是 你可以访问 所有以 system开头的权限。
查阅文章:权限控制