细粒度基于方法级别权限控制是主流的权限控制之一
具体实现:
1、 配置 applicationContext-shiro.xml 激活注解
<!-- 开启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>
2.业务层使用 shiro 注解
@RequiresPermissions("")
3.使用方法注解进行权限控制, 当权限不足时,代理对象抛出一个异常
org.apache.shiro.authz.UnauthorizedException: Subject does not
have permission [courier_add]