文档章节

Springsecurity之SecurityContextHolderStrategy

克虏伯
 克虏伯
发布于 08/19 00:36
字数 187
阅读 10
收藏 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;

 

© 著作权归作者所有

共有 人打赏支持
克虏伯

克虏伯

粉丝 13
博文 270
码字总数 91553
作品 0
渝北
程序员
加载中

评论(3)

O
OSC_LKaiog

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

引用来自“OSC_LKaiog”的评论

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

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

引用来自“OSC_LKaiog”的评论

你好,请问下,文章中的类图,用什么软件画的?
Intellij idea中,在java类上,鼠标右键->Diagrams->show diagram,就得到这个类图了
O
OSC_LKaiog
你好,请问下,文章中的类图,用什么软件画的?
使用Spring Security开发基于表单的认证(一)

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

JS_HCX
04/29
0
0
SpringBoot+mybatis+springsecurity实现用户角色数据库管理

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

ben4
2017/11/24
0
0
Springsecurity之SecurityContext

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

克虏伯
09/07
0
0
【SpringSecurity】用户自定义认证

自定义用户认证逻辑 处理用户信息获取逻辑-UserDetailsService 用户信息被封装在一个接口里面的UserDetailsService,由SpringSecurity提供,如下: 该接口里面有一个loadUserByUsername方法,...

zlt995768025
05/13
0
0
使用Spring Security开发基于表单的认证(二)

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

JS_HCX
04/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

控件WebView显示网页

一、代码编写 (一)方法一:通过打开app直接打开指定网站 1.打开Android Stutio,新建一个工程,名为Sdca。注意,名称开头必须为大写。 2.添加WebView控件 打开app esactivity_main.xml添加...

lanyu96
20分钟前
1
0
WinRAR 去除弹窗广告

想要去除它,需要用到另外一个工具resource hacker,百度一下,下载它,工具很小,安装也简单。安装过后,找到winrar安装目录下的WinRAR.exe文件,右击选择 open useing resource hacker打开...

YunOu
33分钟前
1
0
Bash工作管理详解

Bash工作管理 Bash的工作是对具体任务的一个抽象表述,更确切的说是对管道的应用上的表述。Bash中的工作在形式上表现为一组相关进程或单个进程。工作进程组分为前台和后台,前台进程会对键盘...

小陶小陶
37分钟前
2
0
Qt那些事0.0.1

LIBS += -L$$PWD/lib/ -lStv1QMAKE_POST_LINK += $$QMAKE_COPY $$replace(PWD,"/","\\")\lib\Stv1.dll $$replace(OUT_PWD,"/","\\")\debug\Stv1.dll pro文件里,写起来按理说应该是轻松地......

Ev4n
46分钟前
2
0
如何正确的使用动态VPS(Linux)自动更换IP

背景 现在越来越多的人开始玩网赚项目,蚂蚁再小也是肉,薅羊毛的羊毛党越来越多,一些网赚项目也越来越受欢迎,但是一般的网赚项目都是要求真实用户的,所以要想获得大量的真实ip,一种动态...

bengozhong
53分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部