Как перенаправить HTTP-запросы в HTTPS с помощью конфигурации Spring Security Java?
У меня есть приложение Spring Security версии 3.2.3, которое слушает как HTTP, так и HTTPS. Я хочу, чтобы любой запрос на порт HTTP был перенаправлен на HTTPS. Как мне настроить это, используя только Java?
Spring Security Javadoc дляHttpSecurity
предлагает следующее решение (обрезать до необходимого):
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) {
http.channelSecurity().anyRequest().requiresSecure();
}
}
Однако это не работает, потому что HttpSecurity
не имеет метода channelSecurity()
,
1 ответ
Решение
Замена channelSecurity()
с requiresChannel()
в коде в вопросе появляется, чтобы дать желаемое поведение. Рабочий код выглядит следующим образом:
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) {
http.requiresChannel().anyRequest().requiresSecure();
}
}