当前位置: 首页 > news >正文

06 - spring security角色和权限设置

spring security角色和权限设置

文档

  1. 00 - spring security框架使用
  2. 01 - spring security自定义登录页面
  3. 02 - spring security基于配置文件及内存的账号密码
  4. 03 - spring security自定义登出页面
  5. 04 - spring security关闭csrf攻击防御
  6. 05 - spring security权限控制

角色和权限设置

说明
  1. 以基于内存的账号密码为例,设置权限的写法:

    @Bean
    public UserDetailsService userDetailsService() {InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();// 此时配置文件中的用户名和密码将不可用manager.createUser(User.withDefaultPasswordEncoder().username("user").password("password").authorities("USER_LIST").build());return manager;
    } 
    
  2. 以基于内存的账号密码为例,设置角色的写法:

    @Bean
    public UserDetailsService userDetailsService() {InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();// 此时配置文件中的用户名和密码将不可用manager.createUser(User.withDefaultPasswordEncoder().username("user").password("password").roles("USER").build());return manager;
    }
    
  3. 需要注意的是,.authorities.roles不能同时写,同时写后面的会覆盖前面的,如下面示例:

    @Bean
    public UserDetailsService userDetailsService() {InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();// 此时配置文件中的用户名和密码将不可用manager.createUser(User.withDefaultPasswordEncoder().username("user").password("password").authorities("USER_LIST").roles("USER").build());return manager;
    }
    

    此时,该用户是没有USER_LIST权限的,该权限被后面设设置.roles覆盖了,可以结合上篇文件的示例:05 - spring security权限控制,会发现,此时访问带USER_LIST权限的接口,会被拒绝访问

  4. 实际上,调用设置角色的方法.roles也是在操作权限,权限名是ROLE前缀+角色名,比如:.roles("USER"),相当于设置了ROLE_USER权限

  5. 设置角色时,角色名不能以ROLE_开头

http://www.dtcms.com/a/348725.html

相关文章:

  • 虚拟机蓝屏问题排查与解决
  • 小工具推荐
  • 【数据结构】栈和队列——栈
  • 生成模型 | DDPM -> Imrpoved DDPM -> DDIM
  • LIANA | part2 results部分
  • QML Charts组件之坐标轴示例
  • LangGraph 与 MCP 模型上下文协议简介与演示
  • 教育系统搭建攻略:线上知识付费与线下消课排课全解析
  • 【Java开发日记】我们来讲一讲 Channel 和 FileChannel
  • Polkadot - JAM
  • 美股期权历史市场数据波动特性分析
  • 【中文教材】14. 汇率计算
  • 人工智能-python-深度学习-tensor基操
  • 数学建模(摸索中……)
  • CUDA安装,pytorch库安装
  • 如何实现模版引擎
  • Shell 学习笔记 - Shell 三剑客篇
  • unity热更新总结
  • 【如何使用Redis实现分布式锁详解讲解】
  • [快乐数](哈希表)
  • 解决编译osgEarth中winsocket2.h找不到头文件问题
  • 基于Spark的热门旅游景点数据分析系统的设计-django+spider
  • Spring Boot测试陷阱:失败测试为何“传染”其他用例?
  • 【追涨抄底关注】副图指标 紫色主力线上行表明资金介入明显 配合价格突破时可靠性更高
  • deepseek连接solidworks设计一台非标设备 (part1)
  • 阿里云ECS服务器搭建ThinkPHP环境
  • 互联网大厂AI/大模型应用开发工程师面试剧本与解析
  • 阿里云云数据库RDS PostgreSQL管控功能使用
  • 基于SpringBoot的婚纱影楼服务预约平台【2026最新】
  • Spring AI 学习笔记(2)