DelegatingFilterProxy
Spring提供了一个名为DelegatingFilterProxy的过滤器实现,它允许在Servlet容器的生命周期和Spring的ApplicationContext之间架桥。Servlet容器允许使用自己的标准注册过滤器,但它不知道Spring定义的bean。DelegatingFilterProxy可以通过标准的Servlet容器机制注册,但将所有工作委托给实现Filter的Spring Bean。
FilterChainProxy
Spring Security的Servlet支持包含在FilterChainProxy中。FilterChainProxy是Spring Security提供的一个特殊的过滤器,允许通过SecurityFilterChain委托给多个过滤器实例。由于FilterChainProxy是一个Bean,它通常被包装在DelegatingFilterProxy中。
SecurityFilterChain
FilterChainProxy使用SecurityFilterChain来确定该请求应该调用哪个Spring Security过滤器。
Security过滤器
安全过滤器通过SecurityFilterChain API插入到FilterChainProxy中。
总结
DelegatingFilterProxy是一个容器,包含N多个FilterChainProxy;FilterChainProxy包含N多个SecurityFilterChain;SecurityFilterChain包含N多个Security过滤器。