我有一个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()
。
答案 0 :(得分:14)
在问题代码中用channelSecurity()
替换requiresChannel()
似乎可以提供所需的行为。然后,工作代码如下所示:
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) {
http.requiresChannel().anyRequest().requiresSecure();
}
}