【问题标题】:Spring Security SAML: How to configure redirect URL after successful logoutSpring Security SAML:成功注销后如何配置重定向 URL
【发布时间】:2022-11-17 04:47:40
【问题描述】:

Spring Security SAML 模块,当配置为:

    @Bean
    SecurityFilterChain configure(HttpSecurity http) throws Exception {
        http
            //other stuff...
            .saml2Logout(withDefaults());

        return http.build();
    }

将重定向到本地主机:端口/登录?注销默认情况下,并且在文档中也说明它可以“重定向到任何已配置的成功注销端点”,但我似乎找不到在哪里或如何配置此重定向 URL。

https://docs.spring.io/spring-security/reference/servlet/saml2/logout.html

我已经检查了文档中演示的 5 个可自定义组件(注销请求和响应解决方案、身份验证和存储),但它们似乎都没有涵盖重定向 URL。

我认为另一种不太优雅的方法是在外部应用过滤器以将任何对“/login?logout”的请求重定向到我想要的重定向位置,但这绝对不是正确的解决方案。

【问题讨论】:

    标签: java spring spring-boot spring-security saml-2.0


    【解决方案1】:

    摘自this issue on spring-security's GitHub

    默认情况下,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();
        }
    
    

    【讨论】:

      猜你喜欢
      • 2011-02-05
      • 1970-01-01
      • 2012-08-08
      • 2013-02-15
      • 2016-07-21
      • 1970-01-01
      • 2015-01-03
      • 2017-07-13
      • 2011-12-08
      相关资源
      最近更新 更多