shiro开启注解配置后@RequiresRole无效或导致@Autowired 失效

阅读更多

在使用shiro时,打算启用shiro的注解功能如下:

@RequestMapping(method = RequestMethod.GET,value = "/menuManager")
@RequiresPermissions("sys:menu:*")
public String  menusManager(Model model){ 
	return "/sys/menuManager";
}

 

于是在配置中加入shiro注解的配置

 

  

     

 启动时会报错 java.lang.IllegalArgumentException: Can not set  *.Service field *.Controller.Service to $Proxy47,研究后发现只要把配置改成

 


     


    

 就不会再报错了,但是启动项目在测试中发现@RequiresRole  @RequiresPermissions 这些注解并没有实际的拦截,不管有没有权限都一样可以通过请求。

后来把上面配置中的Aop代理配置改成

 

 

     

 

 然后shiro注解正常生效了。具体原因待研究。

 

你可能感兴趣的:(shiro,Autowired,配置,失效)