spring security中Authority、Role的区别及说明

 更新时间:2023年09月16日 09:45:35   作者:cngkqy  
这篇文章主要介绍了spring security中Authority、Role的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

spring security中Authority、Role的区别

最近在研究spring security时,大概研究了一下Authority、Role之间到底有什么本质的区别。

如果你使用的是hasRole方法来判断你的登录用户是否有权限访问某个接口,那么你初始化User时,放入的GrantedAuthority的字符就需要包含ROLE_前缀,

参见下图红箭头:

接口访问权限配置应该是这样:

或者是这样:

如果你使用的是hasAuthority,那么你初始化User时,放入的GrantedAuthority的字符就不需要包含ROLE_前缀了,

参见下图红箭头:

接口访问权限配置应该是这样:

或者是这样:

我使用的是spring security 5.1.6版本

从源码的角度可以看出使用不同的hasAuthority、hasRole方法判断权限时的区别,其实他们最终调用的都是hasAnyAuthorityName()方法,唯一不同的就是hasRole()在调用时,传递了前缀defaultRolePrefix,这就导致了他们两者之间比较的字符产生了差异。

spring security应该想代表的意思就是权限字符加了ROLE_就是角色Role,如果没有加就是一个权限Authority,大家根据自己的实际情况灵活选用就好啦,希望给大家解释清楚了~

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java设计日历可视化的详细步骤记录

    java设计日历可视化的详细步骤记录

    这篇文章主要给大家介绍了关于java设计日历可视化的相关资料,通过自定义的CircleLabel类来突出显示今天的日期,并使用BorderLayout布局管理窗口组件,文章详细描述了各个类和方法的设计思想和实现逻辑,需要的朋友可以参考下
    2024-12-12
  • JSON 格式的弊端与解决方法(真实示例)

    JSON 格式的弊端与解决方法(真实示例)

    JSON 格式是目前最流行的数据交互格式,广泛应用于前后端分离的系统。但也有一些场合不适合使用 JSON 格式,这篇文章主要介绍了JSON 格式的弊端与解决方法,需要的朋友可以参考下
    2022-09-09
  • 后端实现数据脱敏的6种方案详细介绍

    后端实现数据脱敏的6种方案详细介绍

    这篇文章主要为大家详细介绍了后端实现数据脱敏的6种方案,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-05-05
  • Spring Bean初始化及@PostConstruc执行顺序示例详解

    Spring Bean初始化及@PostConstruc执行顺序示例详解

    本文给大家介绍Spring Bean初始化及@PostConstruc执行顺序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-07-07
  • Java使用 Spire.XLS 库合并Excel文件的常见方法详解

    Java使用 Spire.XLS 库合并Excel文件的常见方法详解

    在企业级应用开发中,Excel文件处理几乎是每个Java开发者都会遇到的任务,下面小编将为大家详细讲讲如何基于Spire.XLS for Java实现Excel文件合并,有需要的可以了解下
    2025-10-10
  • java递归实现树形结构数据完整案例

    java递归实现树形结构数据完整案例

    递归算法的代码比较简洁,可读性较好;但是在实际的业务处理中会出现多次的重复调用,如果处理不好,很容易出现StackOverflowError报错,这篇文章主要给大家介绍了关于java递归实现树形结构数据的相关资料,需要的朋友可以参考下
    2023-04-04
  • springboot ErrorPageFilter的实际应用详解

    springboot ErrorPageFilter的实际应用详解

    这篇文章主要介绍了springboot ErrorPageFilter的实际应用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 在SpringBoot中使用@Value注解来设置默认值的方法

    在SpringBoot中使用@Value注解来设置默认值的方法

    Spring Boot提供了一种使用注解设置默认值的方式,即使用 @Value 注解,下面这篇文章主要给大家介绍了关于如何在SpringBoot中使用@Value注解来设置默认值的相关资料,需要的朋友可以参考下
    2023-10-10
  • SpringBoot下使用自定义监听事件的流程分析

    SpringBoot下使用自定义监听事件的流程分析

    事件机制是Spring的一个功能,目前我们使用了SpringBoot框架,所以记录下事件机制在SpringBoot框架下的使用,同时实现异步处理,这篇文章主要介绍了SpringBoot下使用自定义监听事件,需要的朋友可以参考下
    2023-08-08
  • WebSocket整合SSM(Spring,Struts2,Maven)的实现示例

    WebSocket整合SSM(Spring,Struts2,Maven)的实现示例

    这篇文章主要介绍了WebSocket整合SSM(Spring,Struts2,Maven)的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01

最新评论