Модуль Spring Security SAML при настройке с помощью:
@Bean
SecurityFilterChain configure(HttpSecurity http) throws Exception {
http
//other stuff...
.saml2Logout(withDefaults());
return http.build();
}
будет перенаправлять на localhost:port/login?logout по умолчанию, и в документации также указано, что он может «перенаправлять на любую настроенную конечную точку успешного выхода», но я не могу найти, где и как настроить этот URL-адрес перенаправления.
https://docs.spring.io/spring-security/reference/servlet/saml2/logout.html
Я проверил 5 настраиваемых компонентов, продемонстрированных в документе (разрешения запроса и ответа на выход, аутентификация и хранилище), но ни один из них, похоже, не охватывает URL-адрес перенаправления.
Еще один не очень элегантный подход, который, по моему мнению, заключается в применении внешнего фильтра для перенаправления любого запроса на «/login?logout» в желаемое место перенаправления, но это определенно не правильное решение.




Взято из этого выпуска на GitHub spring-security:
По умолчанию saml2logout() наследуется от logout(). Итак, вы можете сделать:
http .logout().logoutSuccessUrl("/myLogoutSuccessUrl") .saml2Logout(Customizer.withDefaults())
Используя предоставленный вами код, это будет выглядеть так:
@Bean
SecurityFilterChain configure(HttpSecurity http) throws Exception {
http
//other stuff...
.logout().logoutSuccessUrl("/myLogoutSuccessUrl")
.saml2Logout(withDefaults());
return http.build();
}