Springsecurity之SecurityContext

家住魔仙堡 提交于 2019-12-27 18:43:19

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

  先上一张图,如下图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的时序图

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!