如何使用Spring Security Java配置将HTTP请求重定向到HTTPS?

我有一个Spring Security版本3.2.3应用程序,它可以监听HTTP和HTTPS。 我希望将对HTTP端口的任何请求重定向到HTTPS。 如何仅使用Java配置?

用于HttpSecurity Spring Security javadoc提出了以下解决方案(修剪为必需的):

 public class WebSecurityConfig extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) { http.channelSecurity().anyRequest().requiresSecure(); } } 

但是这不起作用,因为HttpSecurity没有方法channelSecurity()

用问题代码中的requiresChannel()替换channelSecurity()出现所需的行为。 然后,工作代码如下所示:

 public class WebSecurityConfig extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) { http.requiresChannel().anyRequest().requiresSecure(); } }