专栏首页软件开发-青出于蓝Springsecurity之SecurityContextHolderStrategy

Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是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;

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SpringFramework之ViewResolver优化

    Springboot中,对mvc进行自动化配置时在WebMvcAutoConfiguration中会自动注入InternalResourceViewResolv...

    克虏伯
  • Springsecurity之jsp中url方式控制权限

        如List-2.1所示,单独定义个DefaultWebInvocationPrivilegeEvaluator的bean就可以了,将intercepto...

    克虏伯
  • SpringFramework之javax.servlet.http.HttpSession

                                                                  图1 HttpSession接口

    克虏伯
  • 置换检验概述及其在R中的实现

    某些差异分析方法建立在观测数据服从较好的特定理论分布的基础上,如常见的参数检验T检验、方差分析等,假定观测数据抽样自正态分布;再如分析差异表达基因时最常用的负二...

    用户7585161
  • 在dockers中调试dump的dotnet程序

    centos7使用lldb调试netcore应用转储dump文件 centos7 lldb 调试netcore应用的内存泄漏和死循环示例(dump文件调试)

    旺财的城堡
  • 4.2.Java8 Stream简单的应用

            元素序列:像集合一样,流也提供了一个接口,可以访问特定元素类型的一组有序值,因为集合是数据结构,所以他的主要目的是以特定的时间/空间复杂度存储和...

    itjim
  • 【CSS】309- 复习 CSS盒模型

    CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:外边距(margin)、边框(border)、内边距(padding)、实际内容(content)...

    pingan8787
  • Objective-C中的委托(代理)模式

            我个人更喜欢把委托(Delegate)模式称为代理(Proxy)模式。还是那句话,第一次接触代理模式是在Java中接触的,在Java中实现代理模...

    lizelu
  • Java期末复习——主观题

    _DIY
  • CCF 最优灌溉

    问题描述   雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉。   为了灌溉,雷雷需要建立一些...

    用户1148523

扫码关注云+社区

领取腾讯云代金券