以下是Spring Security中一些默认的Filter,按照它们在Filter Chain中的顺序排列:

顺序Filter类名描述
1ChannelProcessingFilter确保请求通过正确的通道(如HTTP或HTTPS)。
2WebAsyncManagerIntegrationFilter集成Spring的WebAsyncManager,用于异步请求处理。
3SecurityContextPersistenceFilter在请求之间持久化和恢复SecurityContext。
4HeaderWriterFilter向响应中添加安全相关的HTTP头。
5CorsFilter处理跨域资源共享(CORS)请求。
6CsrfFilter防止跨站请求伪造(CSRF)攻击。
7LogoutFilter处理用户注销请求。
8OAuth2AuthorizationRequestRedirectFilter处理OAuth2授权请求的重定向。
9Saml2WebSsoAuthenticationRequestFilter处理SAML2 Web SSO认证请求。
10X509AuthenticationFilter处理基于X.509证书的认证。
11AbstractPreAuthenticatedProcessingFilter处理预认证请求的基类。
12CasAuthenticationFilter处理CAS认证请求。
13OAuth2LoginAuthenticationFilter处理OAuth2登录认证请求。
14Saml2WebSsoAuthenticationFilter处理SAML2 Web SSO认证请求。
15UsernamePasswordAuthenticationFilter处理基于用户名和密码的表单登录请求。
16OpenIDAuthenticationFilter处理OpenID认证请求。
17DefaultLoginPageGeneratingFilter生成默认的登录页面。
18DefaultLogoutPageGeneratingFilter生成默认的注销页面。
19ConcurrentSessionFilter确保用户的并发会话数不超过限制。
20DigestAuthenticationFilter处理HTTP摘要认证请求。
21BearerTokenAuthenticationFilter处理基于Bearer Token的认证请求。
22BasicAuthenticationFilter处理HTTP基本认证请求。
23RequestCacheAwareFilter恢复缓存的请求,用于在认证成功后重定向到原始请求。
24SecurityContextHolderAwareRequestFilter包装请求对象,使其支持Servlet API的安全方法。
25JaasApiIntegrationFilter集成JAAS(Java认证和授权服务)。
26RememberMeAuthenticationFilter处理“记住我”功能的认证请求。
27AnonymousAuthenticationFilter为未认证的用户分配一个匿名身份。
28OAuth2AuthorizationCodeGrantFilter处理OAuth2授权码授予流程。
29SessionManagementFilter管理用户会话,包括会话固定保护。
30ExceptionTranslationFilter处理安全相关的异常,如AccessDeniedExceptionAuthenticationException
31FilterSecurityInterceptor执行安全拦截,决定是否允许请求继续。
32SwitchUserFilter允许管理员切换为用户身份。

这些Filter按照顺序组成Spring Security的Filter Chain,每个Filter都有特定的职责。根据配置的不同,某些Filter可能会被启用或禁用。

最后修改:2026 年 03 月 18 日
如果觉得我的文章对你有用,请随意赞赏