HTTP
本站(springdoc.cn)中的内容来源于 spring.io ,原始版权归属于 spring.io。由 springdoc.cn 进行翻译,整理。可供个人学习、研究,未经许可,不得进行任何转载、商用或与之相关的行为。 商标声明:Spring 是 Pivotal Software, Inc. 在美国以及其他国家的商标。 |
所有基于HTTP的通信都应该 使用TLS进行保护。
本节讨论了协助HTTPS使用的特定服务功能的细节。
重定向到 HTTPS
如果客户端使用HTTP而不是HTTPS发出请求,你可以配置Spring Security重定向到HTTPS。
例如,下面的Java或Kotlin配置将任何HTTP请求重定向到HTTPS。
Redirect to 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
Redirect to HTTPS with XML Configuration
<http>
<intercept-url pattern="/**" access="ROLE_USER" requires-channel="https"/>
...
</http>
Strict Transport Security
Spring Security提供了对 Strict Transport Security(严格传输安全的支持),并默认启用。
代理服务器的配置
Spring Security与 代理服务器整合。