文档章节

Springsecurity之SecurityContextHolderStrategy

克虏伯
 克虏伯
发布于 2018/08/19 00:36
字数 187
阅读 16
收藏 1

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x

先上一张图:

                                           图1 SecurityContextHolderStrategy的三个实现类

1. ThreadLocalSecurityContextHolderStrategy

    它里面使用的是ThreadLocal,如下List-1所示:

    List-1 

private static final ThreadLocal<SecurityContext> contextHolder = new ThreadLocal<SecurityContext>();

2.InheritableThreadLocalSecurityContextHolderStrategy

    它里面使用的是InheritableThreadLocal,如下List-2所示:

    List-2

private static final ThreadLocal<SecurityContext> contextHolder = new InheritableThreadLocal<SecurityContext>();

    ThreadLocal和InheritableThreadLocal之间是有区别的,InheritableThreadLocal的作用更广,这里就不再深入。

3.GlobalSecurityContextHolderStrategy

    它里面使用的是静态属性,如下List-3所示:

    List-3

private static SecurityContext contextHolder;

 

© 著作权归作者所有

共有 人打赏支持
上一篇: VPN记录
下一篇: Redis之命令记录
克虏伯

克虏伯

粉丝 16
博文 344
码字总数 115592
作品 0
渝北
程序员
私信 提问
加载中

评论(3)

O
OSC_LKaiog

引用来自“汉斯-冯-拉特”的评论

引用来自“OSC_LKaiog”的评论

你好,请问下,文章中的类图,用什么软件画的?
Intellij idea中,在java类上,鼠标右键->Diagrams->show diagram,就得到这个类图了

好的,谢谢!
克虏伯
克虏伯

引用来自“OSC_LKaiog”的评论

你好,请问下,文章中的类图,用什么软件画的?
Intellij idea中,在java类上,鼠标右键->Diagrams->show diagram,就得到这个类图了
O
OSC_LKaiog
你好,请问下,文章中的类图,用什么软件画的?
SpringBoot+mybatis+springsecurity实现用户角色数据库管理

SpringSecurity是专门针对基于Spring项目的安全框架,充分利用了依赖注入和AOP来实现安全管控。在很多大型企业级系统中权限是最核心的部分,一个系统的好与坏全都在于权限管控是否灵活,是否...

ben4
2017/11/24
0
0
Springsecurity之SecurityContext

先上一张图,如下图1所示,SecurityContext只有俩个方法,即getAuthentication()和setAuthentication(),如下: 图1 SecurityContext的类图 图2 SecurityContextHolder 而SecurityContextHold...

克虏伯
2018/09/07
0
0
使用Spring Security开发基于表单的认证(一)

使用Spring Security开发基于表单的认证(一) SpringSecurity核心功能: 认证(你是谁) 授权(你能干什么) 攻击防护(防止伪造身份) 使用springsecurity的默认安全机制: 访问接口时,会弹...

JS_HCX
2018/04/29
0
0
Spring Security权限框架理论与实战演练

本章首先让大家学习到Spring Security权限框架的架构,之后大家可以学习到Spring Security权限框架的核心概念,包括拦截器、数据库管理、缓存、自定义决策等等,之后会手把手带大家基于Sprin...

芥末无疆sss
2018/10/18
0
0
使用Spring Security开发基于表单的认证(二)

使用Spring Security开发基于表单的认证(二) 个性化用户认证流程 一、自定义登录页面 ①加页面:定义该页面hcx-signIn.html为登录页面: ②配授权 hcx-signIn.html: 注意,如果忘记配授权...

JS_HCX
2018/04/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
1
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
1
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
昨天
3
0
雷军亲自打造的套餐了解下:用多少付多少

12月28日消息,小米科技创始人兼CEO雷军微博表示,小米移动任我行套餐方案,原则上就是明明白白消费,用多少付多少,不用不花钱!上网、电话和短信都是一毛钱,上网0.1元/M,电话0.1元/分钟,...

linuxCool
昨天
6
0
协议简史:如何学习网络协议?

大学时,学到网络协议的7层模型时,老师教了大家一个顺口溜:物数网传会表应。并说这是重点,年年必考,5分的题目摆在这里,你们爱背不背。 考试的时候,果然遇到这个问题,搜索枯肠,只能想...

Java干货分享
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部