我有一个同时侦听HTTP和HTTPS的Spring Security版本3.2.3应用程序。我希望对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();
}
}