如果您需要动态更新登录的用户权限(当这些权限发生变化时,无论什么原因),无需登出并登录,您只需要重置Spring SecurityContextHolder中的Authentication对象(安全令牌)即可.

例:

Authentication auth = SecurityContextHolder.getContext().getAuthentication();

List updatedAuthorities = new ArrayList<>(auth.getAuthorities());

updatedAuthorities.add(...); //add your role here [e.g., new SimpleGrantedAuthority("ROLE_NEW_ROLE")]

Authentication newAuth = new UsernamePasswordAuthenticationToken(auth.getPrincipal(), auth.getCredentials(), updatedAuthorities);

SecurityContextHolder.getContext().setAuthentication(newAuth);

java实时更新权限_java – 如何使用Spring Security重新加载用户更新的权限相关推荐

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

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

  2. java自定义上下文对象_Java框架_Spring应用上下文对象加载配置

    我们都知道IOC是spring框架的核心,主要作用是控制反转,把我们需要的对象从容器中提供给我们,但是IOC是如何加载我们所需要的对象的? Spring容器是IOC容器的一种,它通过Applicati ...

  3. java 继承先后顺序_Java中的继承关系的加载顺序

    /* 在加载类时,Java虚拟机先加载父类再加载子类,再对静态初始化块. 静态成员变量(类变量).静态方法进行一次初始化. 只有调用new方法时才会创建类的对象.按照父子继承关系进行初始化, 首先执行 ...

  4. java 接口权限控制_手把手教你搞定权限管理,结合Spring Security实现接口的动态权限控制!...

    SpringBoot实战电商项目mall(30k+star)地址:github.com/macrozheng/- 摘要 权限控管理作为后台管理系统中必要的功能,mall项目中结合Spring Secu ...

  5. SpringSecurity权限管理框架系列(六)-Spring Security框架自定义配置类详解(二)之authorizeRequests配置详解

    1.预置演示环境 这个演示环境继续沿用 SpringSecurit权限管理框架系列(五)-Spring Security框架自定义配置类详解(一)之formLogin配置详解的环境. 2.自定义配置类 ...

  6. java 启动类_java程序启动,类的加载情况

    一.java程序运行的时候,不是所有类必须被加载到jvm虚拟机中才可以正常使用 是不是所有的class文件都在启动的时候全部加载呢? java中的类大致分为三种:  1.系统类 2.扩展类 3.由程序 ...

  7. Day239.RBAC模式、动态加载用户权限资源规则数据规则、【记住我】注销多次登录图片验证码session验证码验证功能 -springsecurity-jwt-oauth2

    1.RBAC权限管理模型 一.RBAC权限模型简介 RBAC权限模型(Role-Based Access Control)即:基于角色的权限控制.模型中有几个关键的术语: 用户:系统接口及功能访问的操 ...

  8. 在Spring Boot中加载初始化数据

    文章目录 依赖条件 data.sql文件 schema.sql 文件 @sql注解 @SqlConfig 注解 在Spring Boot中加载初始化数据 在Spring Boot中,Spring Bo ...

  9. SpringSecurity动态加载用户角色权限实现登录及鉴权

    本文来说下SpringSecurity如何动态加载用户角色权限实现登录及鉴权 文章目录 概述 动态数据登录验证的基础知识 UserDetails与UserDetailsService接口 实现User ...

最新文章

  1. 换了你你又会杀了谁(zz)
  2. java简单通讯录的实现02person类_用java实现简单的小游戏(你一定玩过)
  3. Kamp;R练习题6-1统计关键词出现的次数
  4. mac php 超时,PHP---Mac上开启php错误提示
  5. 前端学习(3203):复习类相关知识
  6. 防御CSRF、XSS和SQL注入***
  7. DataGridView 中合并单元格
  8. 图嵌入知识表征の初体验
  9. 嵌入式Linux系统编程学习之二十三 System V 共享内存机制
  10. mysql group by 两列_MySQL GROUP BY两列
  11. Phpcms V9全站伪静态设置方法
  12. 删除ftp服务器上文件夹的方法,删除ftp服务器文件夹
  13. 典型相关分析 CCA
  14. 谷歌浏览器如何清理缓存
  15. c语言输入1显示你好,你好,求指教!该怎么用C语言的scanf实现一次输入若干个数据...
  16. photoshop文字使用技巧
  17. 为什么科技互联网公司越来越重视数学?
  18. C++编程语言中重载运算符(operator)介绍
  19. python发微信红包_微信现金红包 python
  20. 九、redis的删除机制

热门文章

  1. tcp 发送 最大数据量_网络基础知识夯实总结(三):TCP协议
  2. nextdate函数白盒测试问题 软件测试_软件测试基本常识
  3. 下一个全排列_下一个排列
  4. python列表中随机选择_如何在Python中从列表中随机选择一个项目?
  5. 【视频版】最新版Swagger 3升级指南和新功能体验!
  6. 第五六七章(PTA复习)
  7. Python爬虫:爬取instagram,破解js加密参数
  8. 在Windows系统中下载并安装Docker-desktop
  9. js+excel+mysql_js导出数据到excel
  10. 怎么证明建立了存储过程_【Filecoin源码仓库全解析】第七章:了解PoRep与PoSt并参与复制证明游戏