Spring安全SAML:如何配置成功注销后的重定向URL

1l5u6lss  于 2022-11-21  发布在  Spring
关注(0)|答案(1)|浏览(175)

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”的请求重定向到我想要的重定向位置,但这绝对不是正确的解决方案。

tv6aics1

tv6aics11#

摘自spring-security的GitHub上的本期文章:
默认情况下,saml 2logout()继承自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();
    }

相关问题