使用shiro框架,AuthorizationInfo方法没有被执行的问题

  作为一名菜鸟,前几天在使用shiro框架的时候,在使用权限控制的使用,使用注解的方式@RequiresRoles对某个控制器进行注解的时候,发现AuthorizationInfo方法方法并没有被执行,因此权限验证失败,后来找了原因,发现在使用注解的时候,我们不能直接使用@RequiresRoles或者@RequiresPermissions这两个注解直接放在控制器上面,也就是如下图所示:


以为该权限能直接控制控制器中的所有方法,对其进行权限控制,其实这个控制器会被扫描到的,因此需要把@RequiresRoles或者@RequiresPermissions这两个注解直接放到对应需要权限控制的方法才行,也就是如下图所示:



这是AdmUserController控制器中的一个方法,需要把注解定位到这个方法上才能执行。

  除此之外,总结一下别的网友存在的其他导致AuthorizationInfo方法不能被执行的原因,

  1.在自定义的realm中缺少了depen-on,也就是在你的spring-shiro.xml配置文件中,对于自定义realm的bean,realm中用到了其他的dao或者service,同样也要注明,如下图所示:



  若存在使用多个dao,则使用“,”,也就是逗号隔开。

  2,还有一种原因就是因为你使用springmvc框架的使用,在springmvc.xml缺少了<aop:config>这个标签的内容,如下图所示:


缺少这样一句话,也会导致无法执行,如果是其他的,那就是你基本的springmvc.xml,  spring-shiro.xml   ,web.xml这三个配置文件有某个地方出错或者忘了写提供注解配置语句,请仔细检查。

   以后是我作为一个菜鸟的愚见,欢迎指正批评

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值