Springsecurity之SecurityContext

2019-04-15 10:28:04 浏览数 (1)

  先上一张图,如下图1所示,SecurityContext只有俩个方法,即getAuthentication()和setAuthentication(),如下:

                                                    图1 SecurityContext的类图

                                                     图2 SecurityContextHolder

   而SecurityContextHolder则,保存的是SecurityContext,最常使用的就是SecurityContextHolder的getContext()方法。

   SecurityContextHolder、SecurityContextHolderStrategy、SecurityContext紧密联系,我们虽然调用的是SecurityContextHolder.getContxt(),但它却委托给了SecurityContextHolderStrategy,SecurityContext是保存在SecurityContextHolderStrategy中的。类图如下图3所示,此图来自于《Pro Spring Security》的Chapter3,建议读者阅读原文:

                                图3 SecurityContextHolder、SecurityContextHolderStrategy、SecurityContext的类图

    SecurityContextHolderStrategy,可以看我的这篇博客。

    SecurityContext的时序图如下图4:

                                                   图4 SecurityContext的时序图

代码语言:txt复制
 (adsbygoogle = window.adsbygoogle || []).push({});

0 人点赞