一、在spring的配置文件中开启shiro的注解模式
<!-- 开启shiro注解 -->
<!--
传统springAOP配置,对spring管理的bean创建代理Advisor
在业务bean使用shiro注解,配置自动代理
即对spring管理的bean的方法执行是会扫描是否有shiro注解
-->
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor">
<!-- 注入后处理器 -->
<property name="proxyTargetClass" value="true"/>
</bean>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<!-- 注入安全管理器 -->
<property name="securityManager" ref="securityManager"/>
</bean>
二、在需要权限认证的方法上添加@RequiresPermissions的注解,设置权限vlaue
三、在需要角色认证的方法上添加@RequiresRoles的注解,设置角色value
四、因为默认是接口代理,而注解时配置在实现类上,所以创建的代理对象并不会有注解
所以需要在注解管理事务要配置proxy-target-class="true"
在开启shiro注解模式上也要配置proxyTragetClass属性为true
五、一般@RequiresRoles的value配置多个后就需要用户同时满足多个角色,但在实际情况中应该是或关系
如何配置角色或关系:
在注解上配置logical=Logical.OR即可
细粒度权限认证
最新推荐文章于 2022-12-19 15:14:43 发布