SecurityContextHolder存储SecurityContext的方式根据应用场景不同也有区别:
(1)单机系统 , 即应用从开启到关闭的整个生命周期只有一个用户在使用 。 由于整个应用只需要保存一个SecurityContext(安全上下文即可)
(2)多用户系统 , 比如典型的Web系统 , 整个生命周期可能同时有多个用户在使用 。 这时候应用需要保存多个SecurityContext(安全上下文) , 需要利用ThreadLocal进行保存 , 每个线程都可以利用ThreadLocal获取其自己的SecurityContext , 及安全上下文 。 ThreadLocal内部会用数组来存储多个对象的 。 原理是 , ThreadLocal会为每个线程开辟一个存储区域 , 来存储相应的对象 。
Authentication:用户信息的表示
在SecurityContextHolder中存储了当前与系统交互的用户的信息 。 Spring Security使用一个Authentication 对象来表示这些信息 。
Authentication 主要包含了:
- 用户权限集合
- 用户证书(密码)
- 细节(Details)
- Principal(就是这个用户的账户信息)
UsernamePasswordAuthenticationToken authenticationToken
=new UsernamePasswordAuthenticationToken(usernull null);
authenticationToken.setDetails(new WebAuthenticationDetailsSource()
.buildDetails(request));
SecurityContextHolder.getContext().setAuthentication(authenticationToken);
原文地址:
http://www.cnblogs.com/ins1mnia/p/15635130.html
- 显卡|这就是RTX 4090 Ti显卡?又厚又重,超过三槽要1200W电源
- 显卡|3个不买RTX 3080的理由:没钱只能排最后
- 显卡|如何组装旗舰游戏电脑?这里有你想要的答案
- 等等党就是不买,黄牛、JS贷款买显卡囤货,如今着急了
- 显卡|Intel独立显卡首发全新接口:暂时只能残血
- Intel|Intel两款工作站显卡曝光:还是“小家伙”
- 保安过滤器滤芯 过滤器型号:HFU640UY060J 华源大流量滤元
- 显卡|购机别犹豫,vivo S15系列满足你的用机需求,入手更划算
- 显卡|全球十大畅销手机榜更新:三星S22 Ultra排名第5,榜首实至名归
- 显卡|好价不常有!DDR5、液金散热、满血显卡都有,高端游戏本这款最值
