Spring源码分析【8】-分布式环境SpringSecurity保持用户会话
来源:互联网 发布:淘宝店铺卖 编辑:程序博客网 时间:2024/04/19 08:17
1.SpringSecurity的权限控制流程是这样的:
很明显,要想用户在其他机器也可以登录,那么有两种办法:
用户登录,基础信息UserInfo存在SpringSecurity的ThreadLocal里。
下面是contextHolder对象:
final class ThreadLocalSecurityContextHolderStrategy implementsSecurityContextHolderStrategy {// ~ Static fields/initializers// =====================================================================================private static final ThreadLocal<SecurityContext> contextHolder = new ThreadLocal<SecurityContext>();
很明显,要想用户在其他机器也可以登录,那么有两种办法:
1).变通下,使用负载均衡保持用户会话,也就是某些用户永远在某一台上,这样做大问题没有,但是这样做总归是不太好的。
2).我们可以实现用户在其他机器免登陆。
具体做法是,当用户第一次登陆之后,在Redis里保存UserInfo。
当用户在其他机器上检测到没有用户登录信息,那么需要替用户做一次免登陆的过程。完整的流程:
0 0
- Spring源码分析【8】-分布式环境SpringSecurity保持用户会话
- Spring源码分析【9】-SpringSecurity密码Remove原理
- SpringSecurity | spring security oauth2.0 配置源码分析(一)
- [置顶] SpringSecurity 源码分析一
- springSecurity源码分析---FilterInvocation类
- springsecurity扩展自定义会话管理(一)控制用户重复登陆
- SpringSecurity初探之认证源码分析
- SpringSecurity(五):RememberMe以及源码分析
- 会话保持
- spring 源码分析之环境搭建
- Spring boot源码分析-环境搭建
- 如何在分布式环境,保持session同步
- 负载均衡如何保持用户会话信息同步
- springSecurity源码分析——DelegatingFilterProxy类的作用
- springSecurity源码分析——DelegatingFilterProxy类的作用
- springSecurity源码分析——DelegatingFilterProxy类的作用
- springSecurity源码分析——DelegatingFilterProxy类的作用
- springSecurity源码分析——DelegatingFilterProxy类的作用
- Windows证书查看
- Leetcode-102. Binary Tree Level Order Traversal
- android Splash简单炫酷UI界面
- Android Uri外部启动app或者notification启动
- 微信小程序 尺寸单位rpx与px,rem相互转换
- Spring源码分析【8】-分布式环境SpringSecurity保持用户会话
- JSP基础(2)
- 喜
- MySQL DATE_FORMAT()函数
- Kotlin - ==、===和equals
- ABCDE 排列组合
- ValueError: time data '5:45:56 AM' does not match format '%I:%M:%S %p'
- java List(分割)分批处理
- hadoop安装配置中的权限管理