Spring Security
中HttpSecurity
是一个安全构建器SecurityBuilder
,目的是构建一个对HTTP
请求进行安全控制的DefaultSecurityFilterChain
。对HttpSecurity
进行配置,是通过一组安全配置器来完成的。这组安全配置器有一个共同的抽象基类AbstractHttpConfigurer
。而配置HttpSecurity
的安全构建器实现类列表如下:
名称 | 简介 |
---|---|
AnonymousConfigurer | 配置匿名认证。 具体来讲,是向HttpSecurity 配置一对协调工作的AnonymousAuthenticationFilter 和AnonymousAuthenticationProvider ,所有属性采用合理的缺省值。这样请求处理时,如果SecurityContextHolder 中认证对象未设置(null 的情况),则向其设置一个匿名认证对象AnonymousAuthenticationToken 。 |
ChannelSecurityConfigurer | 配置ChannelProcessingFilter |
CorsConfigurer | 配置CorsFilter |
CsrfConfigurer | 配置CsrfFilter |
DefaultLoginPageConfigurer | 配置DefaultLoginPageGeneratingFilter /DefaultLogoutPageGeneratingFilter |
ExceptionHandlingConfigurer | 配置ExceptionTranslationFilter |
ExpressionUrlAuthorizationConfigurer | 配置FilterSecurityInterceptor |
FormLoginConfigurer | 配置UsernamePasswordAuthenticationFilter /DefaultLoginPageGeneratingFilter |
HeadersConfigurer | 配置HeaderWriterFilter |
HttpBasicConfigurer | 配置BasicAuthenticationFilter |
JeeConfigurer | 配置J2eePreAuthenticatedProcessingFilter |
LogoutConfigurer | 配置LogoutFilter |
PortMapperConfigurer | 配置共享对象PortMapper ,用于HTTP /HTTPS 两种协议之间跳转时的端口检测。 |
RememberMeConfigurer | 配置RememberMeAuthenticationFilter |
RequestCacheConfigurer | 配置RequestCacheAwareFilter |
SecurityContextConfigurer | 配置SecurityContextPersistenceFilter |
ServletApiConfigurer | 配置SecurityContextHolderAwareRequestFilter |
SessionManagementConfigurer | 配置SessionManagementFilter /ConcurrentSessionFilter |
X509Configurer | 配置X509AuthenticationFilter |
OAuth2ClientConfigurer | 配置OAuth2AuthorizationRequestRedirectFilter /OAuth2AuthorizationCodeGrantFilter ;配置共享对象: ClientRegistrationRepository / OAuth2AuthorizedClientRepository |
OAuth2LoginConfigurer | 配置OAuth2AuthorizationRequestRedirectFilter /OAuth2LoginAuthenticationFilter ;配置共享对象: ClientRegistrationRepository /OAuth2AuthorizedClientRepository / GrantedAuthoritiesMapper |
OAuth2ResourceServerConfigurer | 配置BearerTokenAuthenticationFilter ;配置共享对象: SessionCreationPolicy |
OpenIDLoginConfigurer | 配置OpenIDAuthenticationFilter ;配置共享对象: AuthenticationEntryPoint / OpenIDAuthenticationProvider |
以上各个安全配置器均位于以下包或者其某个子包下面:
package org.springframework.security.config.annotation.web.configurers;