Spring-Security-文档笔记之过滤器

1. DelegatingFilterProxy

一个标准的Servlet Filter代理, 可集成Spring容器中的bean(实现Filter接口). 其工作机制伪代码:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
    // 从Spring 容器中查找指定名称的Filter的bean. 
    // 然后使用这个bean
    Filter delegate = getFilterBean(someFilterBeanName);
    delegate.doFilter(request, response);
}

2. FilterChainProxy

它是通过DelegatingFilterProxy被注入到servlet容器中. 负责选择合适的SecurityFilterChain来处理请求.

2.1. 配置

它包含一个SecurityFilterChain列表. 大多数应用只需要一个SecurityFilterChain. 如果配置有多个, 只有匹配的第一个SecurityFilterChain将被调用。

2.2. 请求防火墙

它包含一个HttpFirewall实例. 用于验证所有的请求.

2.3. FilterChainProxy类图
image.png

3. SecurityFilterChain

决定当前请求要调用哪些Security Filter. 通过RequestMatcher接口来匹配HttpServletRequest。其标准实现为DefaultSecurityFilterChain.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容