iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何解决SpringBoot Shiro权限注解不起作用的问题
  • 639
分享到

如何解决SpringBoot Shiro权限注解不起作用的问题

2023-06-20 17:06:53 639人浏览 薄情痞子
摘要

本篇内容主要讲解“如何解决SpringBoot shiro权限注解不起作用的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决springBoot Shiro权限注解不起作用的问题”吧!

本篇内容主要讲解“如何解决SpringBoot shiro权限注解不起作用的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决springBoot Shiro权限注解不起作用的问题”吧!

最近在学习springboot结合shiro做权限管理时碰到一个问题。

问题如下:

我在userRealm中的doGetAuthorizationInfo方法中给用户添加了权限,然后在Controller中写了下面的代码。其中URL为/listArticle的方法必须要有article:over权限才能通过。我在doGetAuthorizationInfo方法中给该用户添加的权限并没有article:over,但是当前端向该URL发送请求时,@RequiresPermissions注解不起作用,listArticle方法被执行了。而且我在方法内部打印isPermitted("article:over")的输出结果为false。最终通过网上查博客,发现是没有开启Shiro的注解支持的原因。

@RequiresPermissions("article:over")@RequestMapping(value = "/listArticle", method = RequestMethod.POST)public JSONObject listArticle(@RequestBody jsONObject request){    System.out.println("---------isPermitted article:over--------" + SecurityUtils.getSubject().isPermitted("article:over"));    CommonTools.paginationConvert(request);    int ArticleNum = articleService.getArticleNum();    List<JSONObject> list = articleService.listArticle(request.getIntValue("offset"), request.getIntValue("pageRow"));    return Result.success(request, list, ArticleNum);}

解决方法如下:

在ShiroConfig中添加如下一段代码。

//开启对shiro注解的支持@Beanpublic AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {    AuthorizationAttributeSourceAdvisor advisor = new AuthorizationAttributeSourceAdvisor();    advisor.setSecurityManager(securityManager);    return advisor;}//开启aop注解支持@Beanpublic DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {    DefaultAdvisorAutoProxyCreator defaultAAP = new DefaultAdvisorAutoProxyCreator();    defaultAAP.setProxyTargetClass(true);    return defaultAAP;}

添加完这段代码后,我再向该URL发送请求时就会报如下异常,表明该用户没有该权限:
org.apache.shiro.authz.AuthorizationException: Not authorized to invoke method

到此,相信大家对“如何解决SpringBoot Shiro权限注解不起作用的问题”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 如何解决SpringBoot Shiro权限注解不起作用的问题

本文链接: https://www.lsjlt.com/news/298948.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作