Как запросить аутентификацию для всех маршрутов, кроме приветствия, которое должно быть страницей входа в Spring Boot

Я хочу запросить аутентификацию для всех доступных маршрутов, кроме одного «/ приветствуем», который также должен быть страницей входа!

Я использую Spring Boot Security, и мой SecurityFilterChain закодирован следующим образом:

      @Configuration
public class AppConfig {

    @Bean
    SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception {
        http.csrf().disable()
                .authorizeHttpRequests()
                .requestMatchers("/welcome").permitAll()
                .requestMatchers("/**").authenticated()
                .and().formLogin().loginPage("/welcome")
                .and().httpBasic();
        return http.build();
    }

    @Bean
    PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}

Я хочу, чтобы пользователь был перенаправлен на приветственный URL-адрес/страницу, если он не прошел проверку подлинности. И при аутентификации перенаправляться в корень "/". Однако с этой конфигурацией сервер продолжает говорить мне ERR_TOO_MANY_REDIRECTS

Где я делаю неправильно? Как разрешить публичный доступ только к URL-адресу «/ приветствия», а не к остальным?

0 ответов

Другие вопросы по тегам