AuthorityUtils

此类一般用于UserDetailsService的实现类中的loadUserByUsername方法

此工具类一共有三个方法:

commaSeparatedStringToAuthorityList

作用为给user账户添加一个或多个权限,用逗号分隔,底层调用的是createAuthorityList方法,唯一区别在于此方法把所有的权限包含进一个字符串参数中,只不过用逗号分隔。

@Service
public class UserDetailsServiceImpl implements UserDetailsService{@AutowiredPasswordEncoder passwordEncoder;@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {//比较用户名if("admin".equals(username)) {throw new UsernameNotFoundException("用户名不存在");}//比较密码String pass=passwordEncoder.encode("123");//加密return new User(username,pass,AuthorityUtils.commaSeparatedStringToAuthorityList("admin,normal"));}}

createAuthorityList

将权限转换为List,如

@Service
public class UserDetailsServiceImpl implements UserDetailsService{@AutowiredPasswordEncoder passwordEncoder;@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {//比较用户名if("admin".equals(username)) {throw new UsernameNotFoundException("用户名不存在");}//比较密码String pass=passwordEncoder.encode("123");//加密List<GrantedAuthority> list=AuthorityUtils.createAuthorityList("admin","normal");//一个权限一个参数return new User(username,pass,list);}
}

authorityListToSet

将GrantedAuthority对象的数组转换为Set

     List<GrantedAuthority> list=AuthorityUtils.createAuthorityList("admin","normal");Set<String> set=AuthorityUtils.authorityListToSet(list);

AuthorityUtils相关推荐

  1. Spring Security的RBAC数据模型嵌入

    1.简介 ​ 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC中,权限与角色相关联,用户通过成 ...

  2. Spring Security 之集群Session配置

    1.   新建Maven项目 cluster-session 2.   pom.xml <project xmlns="http://maven.apache.org/POM/4.0. ...

  3. java oauth sso 源码_基于Spring Security Oauth2的SSO单点登录+JWT权限控制实践

    概 述 在前文<基于Spring Security和 JWT的权限系统设计>之中已经讨论过基于 Spring Security和 JWT的权限系统用法和实践,本文则进一步实践一下基于 Sp ...

  4. Spring Security 源码分析:Spring Security 授权过程

    Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring I ...

  5. SpringBoot 2 + Spring Security 5 + JWT 的单页应用 Restful 解决方案

    此前我已经写过一篇类似的教程,但那时候使用了投机的方法,没有尊重 Spring Security 的官方设计,自己并不感到满意.这段时间比较空,故重新研究了一遍. 特性 使用 JWT 进行鉴权,支持 ...

  6. 大白话详解Spring Security认证流程

    前言 Spring Seuciry相关的内容看了实在是太多了,但总觉得还是理解地不够巩固,还是需要靠知识输出做巩固. 相关版本: java: jdk 8 spring-boot: 2.1.6.RELE ...

  7. 8.Spring Security 权限控制

    Spring Security权限控制可以配合授权注解使用,具体有哪些注解可以参考Spring-Security保护方法.接着上一节,要开启这些注解,只需要在Spring Security配置文件中添 ...

  8. 3.Spring Security 自定义用户认证

    Spring Security自定义用户认证 自定义认证过程 自定义认证的过程需要实现Spring Security提供的UserDetailService接口,该接口只有一个抽象方法loadUser ...

  9. Security-OAuth2.0 密码模式之客户端实现

    我的OAuth2.0 客户端项目目录 pom 的配置 <?xml version="1.0" encoding="UTF-8"?> <proj ...

最新文章

  1. Webcast 系列课程 NET最全,最权威的学习资源
  2. Linux 查找redis进程命令:ps -ef | grep redis
  3. 计算机开题报告参考文献,开题报告中参考文献.docx
  4. Android之Handler,举例说明如何更新UI
  5. 苹果macOS 13 Ventura 5K原生动态壁纸
  6. 项目中GIT的红色和绿色的标识不显示
  7. 任正非:人感知到自己的渺小,行为才开始伟大
  8. 大学英语综合教程四 Unit 1 课文内容英译中 中英翻译
  9. C# Predefined type 'System.Object' is not defined or imported
  10. 黑苹果开启——HiDPI 技术
  11. 谷歌地图开发:地理编码和反地理编码
  12. 《CTF竞赛权威指南》|Off-By-One
  13. 小波变换比傅里叶变换好在哪里_小波变换与傅里叶变换详解——代码下载——非平稳信号与平稳信号的滤波效果对比
  14. Windows11来了,第一个适用于Windows 11的Insider Preview
  15. Springboot集成七牛云,实现图片上传功能
  16. cmd批处理剪切_Windows命令行bat/cmd脚本,文件批处理教程
  17. 淘宝开放平台API接口,接入方案如下
  18. 【推荐系统】评估指标总结
  19. JavaScript鼠标点击事件
  20. 课程作业——基于数据挖掘算法和技术指标预测股票涨跌

热门文章

  1. P3064 [USACO12DEC]伊斯坦布尔的帮派 (模拟)
  2. python数据分析案例-银行用户忠诚度分析
  3. 什么是PA,与LNA的区别是什么
  4. 密码学中常用的人物角色名称--Alice, Bob,etc
  5. lol提示游戏环境异常重启计算机,msoffice系统工具教程lol游戏环境异常请重启机器该怎么办...
  6. wow.js怎么使用这个插件
  7. 【0x00】python base str操作
  8. 关于 数据结构 与算法的复杂度
  9. VP9如何给Twitch的电竞直播带来价值?
  10. 安徽省2018工程计价电子版_2018版安徽省建设工程计价依据.doc