十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
作为一家“创意+整合+营销”的成都网站建设机构,我们在业内良好的客户口碑。成都创新互联公司提供从前期的网站品牌分析策划、网站设计、成都网站制作、网站建设、外贸网站建设、创意表现、网页制作、系统开发以及后续网站营销运营等一系列服务,帮助企业打造创新的互联网品牌经营模式与有效的网络营销方法,创造更大的价值。这篇文章主要介绍关于Spring Security过滤器链机制和特性的案例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1. 前言
过滤器作为 Spring Security 的重中之重,我们需要了解其中的机制。这样我们才能根据业务需求的变化进行定制。今天来探讨一下 Spring Security 中的过滤器链机制。
2. Spring Security 过滤器链
客户端(APP 和后台管理客户端)向应用程序发送请求,然后应用根据请求的 URI 的路径来确定该请求的过滤器链(Filter)以及最终的具体 Servlet 控制器(Controller)。
从上图我们可以看出 Spring Security 以一个单 Filter(FilterChainProxy) 存在于整个过滤器链中,而这个 FilterChainProxy
实际内部代理着众多的 Spring Security Filter 。这简直就是套娃啊!
2.1 过滤器链的形成过程
再多说一点 Filter 们的初始化过程,首先 Filter 们按照一定的顺序被 SecurityBuilder
的实现来组装为 SecurityFilterChain
,然后通过 WebSecurity
注入到 FilterChainProxy
中去,接着 FilterChainProxy
又在 WebSecurityConfiguration
中以 springSecurityFilterChain
的名称注册为 Spring Bean 。实际上还有一个隐藏层 DelegatingFilterProxy
代理了 springSecurityFilterChain
注入到最后整个 Servlet 过滤器链中。简单画了个图;
★事实上 Spring Security 的内置 Filter 对于 Spring IoC 容器来说都是不可见的。
”
Spring Security 允许有多 条过滤器链并行,Spring Security 的 FilterChainProxy
可以代理多条过滤器链并根据不同的 URI 匹配策略进行分发。但是每个请求每次只能被分发到一条过滤器链。如下图所示:
关于 Filter 的其它细节可以通过 相关文章[1] 了解。
★实际每条过滤链 就是一个
”SecurityFilterChain
以上是关于Spring Security过滤器链机制和特性的案例分析的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!