Как перенаправить HTTP-запросы на HTTPS с помощью конфигурации Java Spring Security?

у меня есть приложение Spring Security версии 3.2.3, которое слушает HTTP и HTTPS. Я хочу, чтобы любой запрос к порту HTTP был перенаправлен на HTTPS. Как настроить это только с помощью Java?

Весна безопасности 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();
    }
}