Как перенаправить 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();
    }
}
Другие вопросы по тегам