shiro注解权限拦截失效解决

今天在给项目添加注解拦截的时候,总是发现拦截不起作用,加入了这个注解按照角色来进行拦截。角色不是1的用户访问此方法都会被拦截。

测试了一会发现把注解bean配置到了shiro.xml中没有起作用。需要把下面注解放入到spring-mvc.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>

放入之后,重启项目,经测试成功拦截,报这个异常说明当前请求没有角色1,成功被拦截。

Request processing failed; nested exception is org.apache.shiro.authz.UnauthorizedException: Subject does not have role [1]

  

猜你喜欢

转载自www.cnblogs.com/shijianhenjinpo/p/11091216.html