Как запросить аутентификацию для всех маршрутов, кроме приветствия, которое должно быть страницей входа в 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-адресу «/ приветствия», а не к остальным?