admin 管理员组文章数量: 887021
2024年2月7日发(作者:oracle黄霄云)
springboot集成shiro——使用RequiresPermissions注解无效
在集成Shiro框架中,我们可以使用RequiresPermissions注解来标识方法或者类级别的权限控制。但是在一些情况下,可能会遇到包括RequiresPermissions注解无效的情况。下面我将详细介绍一些可能导致RequiresPermissions注解无效的原因,并给出相应的解决办法。
1. 配置文件问题:Shiro框架需要一个文件或者文件来读取权限规则。如果你没有指定这个配置文件,或者文件路径不正确,那么RequiresPermissions注解就会无效。解决方法是在文件中添加以下配置:
```
shiro:
config:
file: classpath:
```
```java
public ShiroFilterFactoryBean shiroFilter(SecurityManager
securityManager)
ShiroFilterFactoryBean shiroFilter = new
ShiroFilterFactoryBean(;
urityManager(securityManager);
// 添加需要进行权限控制的url
Map
LinkedHashMap<>(;
//...
terChainDefinitionMap(filterChainDefinitionMap);
return shiroFilter;
}
```
3. 自定义Realm问题:如果你使用了自定义的Realm,那么可能是Realm中没有正确配置权限信息导致RequiresPermissions注解无效。解决方法是在Realm中重写doGetAuthorizationInfo方法,并在该方法中添加相应的角色和权限信息:
```java
protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principals)
SimpleAuthorizationInfo authorizationInfo = new
SimpleAuthorizationInfo(;
//添加角色和权限信息
e("admin");
ingPermission("user:delete");
return authorizationInfo;
}
```
以上是一些常见的原因,可能导致RequiresPermissions注解无效的情况。希望能够帮助到你解决问题。如果还有其他问题,请随时提问。
版权声明:本文标题:springboot集成shiro——使用RequiresPermissions注解无效 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1707299189h514036.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论