Spring Security-SecurityContext
来源:互联网 发布:软件系统介绍ppt模板 编辑:程序博客网 时间:2024/05/22 10:49
Spring Security在认证成功后,将票据存放在SecurityContext中。SecurityContext是一个接口,
从接口的方法可以看出,用户可以通过SecurityContext存放和读取票据信息(Authentication)。
SecurityContext又存放在SecurityContextHolder。SecurityContextHolder定义了SecurityContext
的相关操作,如初始化,清空,读取等。SecurityContextHolder并没有直接实现这些操作,而是使用了策略模式,
由一个SecurityContextHolderStrategy接口,来完成真正的逻辑。
Spring Security提供了3个实现:
GlobalSecurityContextHolderStrategy,在这种策略下,JVM所有的对象共享一个SecurityContext对象。
一般在胖客户端使用,一个客户端就是一个用户代理。
ThreadLocalSecurityContextHolderStrategy,这种策略下,每个线程关联一个SecurityContext。每次
都从当前线程读取或存放SecurityContext。一般用于为多个用户服务的服务器,每个用户一个线程。是最常用的模式,也是Spring Security缺省的策略。用户注销时,应该把该用户所在线程的SecurityContext清除掉。
InheritableThreadLocalSecurityContextHolderStrategy,这种策略是InheritableThreadLocal版本的实现。
有两种方法可以设置策略:1)用要使用策略的类名作为系统属性spring.security.strategy的值。2)直接
调用SecurityContextHolder的静态方法setStrategyName。(为什么要做成静态的,而不是普通的依赖注入的方式)
- Spring Security-SecurityContext
- spring SecurityContext 退出处理
- spring securitycontext稍微说说
- Spring Security
- Spring Security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- Spring Security
- spring security
- spring-security
- Spring Security
- 用C#实现Des加密和解密
- ASP.NET Session详解
- javascript技巧大全
- 密码强弱度检测万能插件
- 889
- Spring Security-SecurityContext
- Mac OS X Leopard与目录服务(AD/OD)集成宝典 (2)
- 系统程序员成长计划-组合的威力(二)
- MFC单文档(SDI)转换成多文档(MDI)解决方案
- MVC详解:了解真正所谓的"框架"
- The C++ In-Depth Series
- 实现iFrame自适应高度,原来很简单!
- 企业信息化如何破冰(一)
- 学嵌入式必须掌握的经验