spring-boot - 无法退出
问题描述
我们有一些 SpringBoot(带有 Spring Security 5 OAuth2)应用程序托管在 Pivotal Cloud Foundry (PCF) 上。我们在 PCF 中使用 SSO 磁贴,它与 ADFS 集成,使我们能够获取存储在 AD 中的凭据。此实现创建多个 cookie 和 saml 令牌。Spring 会话失效不会清除所有这些 cookie。
是否有建议的机制来清除 LogoutSuccessHandler 中的这些 cookie?
谢谢
解决方案
您可以在安全配置中告诉 Spring Boot 要删除哪些 cookie:
http
.formLogin()
.loginPage("/login")
.loginProcessingUrl("/login")
.permitAll()
.successHandler(authSuccessHandler)
.failureHandler(authFailureHandler)
.and()
.logout()
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.logoutSuccessUrl("https://fooo.com")
.deleteCookies("SESSION", "x_token", "x_user")
.clearAuthentication(true)
.invalidateHttpSession(true)
.permitAll();
推荐阅读
- scala - 我的 .conf 文件的正确路径是什么?
- powershell - 根据列表对输出进行排序以在 powershell 中返回不匹配的对象
- amazon-web-services - 静态网站与 API Gateway + Lambda 交互的简单轻量级授权方案
- java - Mockito 无法验证线程运行中的调用
- css - 为什么在我导入 React Bootstrap 后,我之前的按钮设计不起作用?
- c++ - C++ if 语句在只满足一个条件时仍然为真
- c++ - 现行规则草案中不参与推演的模板参数包推导为空的规范规则是什么
- javascript - 如何使 React 功能组件重新创建回调函数并读取更新的道具
- swift - Initializer Hierarchy:需要帮助理解 self.init 以及它如何指向超类
- php - 如何在不重新加载页面的情况下进行实时