HTTP

所有基于HTTP的通信都应受到保护 使用TLS

本节讨论有助于HTTPS使用的特定于servlet的特性。

重定向到HTTPS

如果客户端使用HTTP而不是HTTPS发出请求,您可以配置Spring Security重定向到HTTPS。

例如,以下Java或Kotlin配置将任何HTTP请求重定向到HTTPS

重定向到HTTPS
  • Java

  • Kotlin

@Configuration
@EnableWebSecurity
public class WebSecurityConfig {

	@Bean
	public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
		http
			// ...
			.requiresChannel(channel -> channel
				.anyRequest().requiresSecure()
			);
		return http.build();
	}
}
@Configuration
@EnableWebSecurity
class SecurityConfig {

    @Bean
    open fun filterChain(http: HttpSecurity): SecurityFilterChain {
        http {
            // ...
            requiresChannel {
                secure(AnyRequestMatcher.INSTANCE, "REQUIRES_SECURE_CHANNEL")
            }
        }
        return http.build()
    }
}

以下XML配置将所有HTTP请求重定向到HTTPS

使用XML配置重定向到HTTPS
<http>
	<intercept-url pattern="/**" access="ROLE_USER" requires-channel="https"/>
...
</http>

严格传输安全

Spring Security提供对 严格传输安全 的支持,并默认启用它。

代理服务器配置

Spring Security 与代理服务器集成