安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

SpringBoot进阶之整合Shiro鉴权框架(四)

4月4日 阴阳狱投稿
  SpringBoot进阶之整合Shiro鉴权框架(四)前言
  大家好,一直以来我都本着用最通俗的话理解核心的知识点,我认为所有的难点都离不开基础知识的铺垫。目前正在出一个SpringBoot长期系列教程,从入门到进阶,篇幅会较多适合人群学完Java基础想通过Java快速构建web应用程序想学习或了解SpringBootSpringBoot进阶学习
  大佬可以绕过背景
  如果你是一路看过来的,很高兴你能够耐心看完。之前带大家学了Springboot基础部分,对基本的使用有了初步的认识,接下来的几期内容将会带大家进阶使用,会先讲解基础中间件的使用和一些场景的应用,或许这些技术你听说过,没看过也没关系,我会带大家一步一步的入门,耐心看完你一定会有收获情景回顾
  上期带大家学习了Shiro中如何记录用户状态,本期将带大家学习Shiro中如何进行权限认证。同样的,我们集成到Springboot中。doGetAuthenticationInfo()
  还记得之前带大家实现的doGetAuthenticationInfo()方法实现的用户认证吗,其实还有一个,我们可以用它实现权限控制,这里我们基于RBAC基于用户角色来控制权限,之前有一个方法没实现,我们现在实现一下:获取用户角色和权限OverrideprotectedAuthorizationInfodoGetAuthorizationInfo(PrincipalCollectionprincipal){Useruser(User)SecurityUtils。getSubject()。getPrincipal();StringuserNameuser。getUsername();SimpleAuthorizationInfosimpleAuthorizationInfonewSimpleAuthorizationInfo();获取用户角色SetStringroleSetnewHashSet();StringroleUserMock。getRole(userName);roleSet。add(role);simpleAuthorizationInfo。setRoles(roleSet);获取用户权限StringpermissionUserMock。getPermission(userName);SetStringpermissionSetnewHashSetString();permissionSet。add(permission);simpleAuthorizationInfo。setStringPermissions(permissionSet);returnsimpleAuthorizationI}开启权限注解
  在Shiro中,为我们提供了一列好用的注解,我们一起看一下:表示Subject已经通过login身份验证RequiresAuthentication表示当前是用户身份RequiresUser表示当是游客身份。RequiresGuest表示当前需要的角色RequiresRoles(value{admin,user},logicalLogical。AND)表示当前需要的权限RequiresPermissions(value{p:admin,p:user},logicalLogical。OR)
  使用它之前,我们需要开启它的注解,怎么做呢?在ShiroConfig中加入:BeanpublicAuthorizationAttributeSourceAdvisorauthorizationAttributeSourceAdvisor(SecurityManagersecurityManager){AuthorizationAttributeSourceAdvisorauthorizationAttributeSourceAdvisornewAuthorizationAttributeSourceAdvisor();authorizationAttributeSourceAdvisor。setSecurityManager(securityManager);returnauthorizationAttributeSourceA}
  下面直接使用就可以了:RestControllerpublicclassIndexController{RequiresPermissions(p:user)RequestMapping(index)publicStringindex(Modelmodel){登录成后,即可通过Subject获取登录的用户信息Useruser(User)SecurityUtils。getSubject()。getPrincipal();model。addAttribute(user,user);returnindexuser。getUsername();}}
  这样就可以了,很简单,大家可以自己运行一下。还有一个疑问用户没有权限,我想自定义返回错误信息怎么办呢?很简单,我们一起看一下权限异常捕获
  还记得之前教大家的全局已经捕获吗?没错我们只要在那里加上要捕获的异常类就好了,实际上它是抛出了AuthorizationException的异常ControllerAdvicepublicclassExceptionController{ExceptionHandler(valueAuthorizationException。class)publicStringhandleAuthorizationException(){return您当前没有权限访问请联系管理员;}}
  这样就可以了结束语
  本期内容就到这里结束了,总结一下,本节主要讲了Shiro如何进行权限认证以及常用的权限注解,大家可以自己多试试下期预告
  下期给大家讲讲Shiro中如何进行缓存,缓存对于业务来讲还是比较重要的,尤其对于量大的情况下。欢迎加群一起学习交流往期内容我的博客(阅读体验较佳)Springboot入门Springboot基础(一)Springboot基础(二)Springboot基础(三)Springboot基础(四)Springboot基础(五)SpringBoot进阶之缓存中间件RedisSpringBoot进阶之MyBatis分页插件SpringBoot进阶之跨域问题处理(CORS)SpringBoot进阶之日志集成SpringBoot进阶之请求拦截SpringBoot进阶之事务管理及并发问题SpringBoot进阶之整合Shiro鉴权框架(一)SpringBoot进阶之整合Shiro鉴权框架(二)SpringBoot进阶之整合Shiro鉴权框架(三)项目源码(源码已更新欢迎star)springbootall地址:https:github。comqiuChengleiyspringbootall。git
投诉 评论 转载

有个喜欢拍Vlog,平时也爱玩和平精英的女朋友,送啥手机好?这个问题有点意思,喜欢拍Vlog,还喜欢玩游戏,这样的女生很少见。至于送手机,个人觉得什么都可以,看你自己的预算以及她的品牌喜好,最好的当然是iPhone了。如果没那么多钱,买……IEEE专家展望2022年新常态数智消费体验的机遇与挑战小重讯在后疫情时代,5G、人工智能、IoT等数智化技术得以快速发展,并在帮助全球社会恢复重新运转中发挥了重要作用,重塑了人们的工作及生活方式:现如今,网上购物、远程看病、在线工……美团王兴捐赠145亿股票!互联网巨头为何都热衷于捐股份?扯几把蛋这是资本家避税的手段,跟所谓的慈善捐款基本无关!这完全是在学习外国富豪的资产处理手段,王兴这根本就算不上捐赠,实质上是资产的转移!!!因为10的股票,是捐赠……一农民工自封互联网先知并扬言要做后互联网时代最大公司拚搏人生,无限精彩,一要努力,二靠平台。平台的维度高低关乎事业的格局大小。不怕牛皮吹得大,一旦实现皆神话。早已没人质疑马云当年夸下的海口,阿里就在那儿。全球云公司,既然出自谁口……为iPhone14让路,苹果手机产品线售价大调整4月18日来自外媒的消息显示iPhone14系列正式发布之后,iPhone11这款5G时代的4G神机或将被停产。行业人士表示这是苹果的正常行为,每年有新机iPhone发布就会有……情人节送什么礼物最合适?情人节是西方的一种文化,中国人不搞情人节,有了情人在我们中国那是婚外恋。同时要搞清楚什么样才是情人,自己的妻子和恋爱中的男女双方不是情人。情人是男女之间有共同的语言和共同的思想……用TCLT7E玩吃鸡好不好?我玩吃鸡,对设备要求高,大屏和高刷是硬性要求,TCLT7E刚预售我就买了一台98寸的,98寸是这个系列屏幕最大的,也是配置最好的,目前我了解到的主要参数是全系列4K144Hz真……高通宣布aptX无损蓝牙能听无损CD音质了高通日前宣布,SnapdragonSound添加aptX无损特性,用户可以通过蓝牙聆听16bit44。1kHz的音频,也就是CD音质,和不压缩音源听起来几乎无差别。高通表……Neo4j针对2022图数据平台发展的十大预测作者:Neo4j亚太区副总裁尼克沃拉数字化经济方兴未艾的浪潮中,中国各类企业乃至政府都面临着数字化转型的挑战。而随着疫情的逐步稳定,是否能成功实现数字化转型成为重要的核心……为什么国内很多中小企业生存周期只有3到5年甚至更短?中小企业的生存期普遍较短,个人认为国内的中小企业生存期非常短的原因有以下几点。第一,中小企业自身的特性就是生存期短。中小企业的特点就是投资低、规模小,转型便捷。当市场发生……麒麟90005G双环主摄HMS3。0,Mate系列定档3月份今年国内手机市场打得非常火热,每一家都推出了属于自己的旗舰手机,特别是小米OV,几乎是不停断的召开发布会,每一个阶段都有不一样的产品亮相,从性价比和体验噱头上全面突破,赢得了不……SpringBoot进阶之整合Shiro鉴权框架(四)SpringBoot进阶之整合Shiro鉴权框架(四)前言大家好,一直以来我都本着用最通俗的话理解核心的知识点,我认为所有的难点都离不开基础知识的铺垫。目前正在出一个Sp……
现在扒手和小偷越来越少了,是因为思想觉悟文化水平提高了吗?华为是怎么吸引国内外顶尖科学家的?美国澳大利亚丹麦挪威签署出口管制和人权倡议适合老年人用的智能机有哪些?中芯或将量产7nm芯片,国产芯片能否迎来转机?又一万亿级风口来袭,先行者上汽氢装上阵已占据制高点揭秘哈尔滨地铁2号线如何保证施工安全问题新能源车加速渗透驱动需求升温,这些细分龙头国产化提速手机内存8256跟12256有什么区别?2022年值得购买的吸尘器大盘点,这款戴森你值得拥有为何录取通知书不走顺丰?快递员骑马30年感动中国邮政虽慢必到十分钟送货上门!印度本土小电商异军突起,但问题也来了

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利