我有一个 Spring Security 3.2.3 版应用程序,它同时监听 HTTP 和 HTTPS。我希望对 HTTP 端口的任何请求都重定向到 HTTPS。如何仅使用 Java 进行配置?
Spring Security javadoc for HttpSecurity
提出以下解决方案(精简到本质):
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) {
http.channelSecurity().anyRequest().requiresSecure();
}
}
但这不起作用,因为 HttpSecurity
没有方法 channelSecurity()
。
最佳答案
在问题的代码中将 channelSecurity()
替换为 requiresChannel()
似乎可以提供所需的行为。工作代码如下所示:
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) {
http.requiresChannel().anyRequest().requiresSecure();
}
}
关于java - 如何使用 Spring Security Java 配置将 HTTP 请求重定向到 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24650450/