今天发现刚搭建的项目引入shiro框架。一切都正常,但是使用注解RequiresPermissions的时候发现无论写什么方法都可以访问到。发现RequiresPermissions失去作用了。项目中无其他报错。最后发现是securityManager如过配置在spring加载之后是不生效的也就是说只能在DispatcherServlet加载的时候加载才可以生效。也就是把
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager"/>
</bean>
放到DispatcherServlet中加载即可。其他的关于shiro的配置文件还是可以单独写在一个配置文件中,用DispatcherServlet中间去加载就可以了。