如何使用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(); } }