多个 Spring Security Filter Chain

2022-04-22  本文已影响0人  hemiao3000

<Badge text="了解" type="tip"/>

Spring Security 允许有多条过滤器链并行,Spring Security 的 FilterChainProxy 可以代理多条过滤器链并根据不同的 URI 匹配策略进行分发。但是每个请求每次只能被分发到一条过滤器链。

spring-boot-security-filter-03.png

在这种情况下,每个 Security Filter Chain 就只对自己负责的请求有作用,而对其它请求则视而不见。或者说,其它请求也轮不到它来『滤』。不同的 Security FilterChain 之间是互斥而且平等的。

每个 Security Filer Chain 在代码层面仍然也都是一个 SecurityFilterChain 对象。

另外,这多个 Security Filter Chain 和 FilterChainProxy 的关系如下图:

spring-boot-security-filter-05.png

不过,要实现多个过滤器链的同时存在,需要经过特殊配置<small>(而非我们之前的那种配置)</small>,一般情况下这种需求并不多。

上一篇下一篇

猜你喜欢

热点阅读