【问题标题】:Spring Security, sign out of multiple applications at onceSpring Security,一次退出多个应用程序
【发布时间】:2014-02-20 15:43:53
【问题描述】:

我有三个独立的应用程序,它们都使用 Spring Security 进行保护。当用户退出主应用程序时,我还需要确保他们也退出了 api 应用程序和社交小部件应用程序。现在,我已将主应用程序的注销成功 url 设置为第二个应用程序的注销 url,依此类推。一定有更好的办法吗?

【问题讨论】:

    标签: spring spring-mvc spring-security logout cas


    【解决方案1】:

    第一个问题是,您的用户如何登录到您的应用程序?是否有一些单点登录解决方案?如果是这样,此解决方案还应解决单点注销问题。

    您的问题带有 CAS 标记:CAS 不仅支持单点登录,还支持Single-Sign Out

    【讨论】:

    • 是的,我们正在使用 CAS。从我对单点注销 CAS 文档的阅读来看,有两件事是该解决方案的潜在交易破坏者。第一,虽然单点注销会破坏票证,但客户端上的 cookie 仍然存在,并且文档似乎暗示这意味着如果该用户随后点击该应用程序,他们实际上仍将与该应用程序进行本地会话。第二,它声明单点注销服务将在注销时向注册表中的每个服务发出 POST 请求。我们有近 100 种服务都使用 cas,这....
    • 如果你确实有 100 个服务并且每个用户都有一个会话,除了对每个服务的注销请求之外,你能想出其他方法来终止会话吗?共享会话缓存是我唯一想到的...
    • 嗯,今天想到的就是,我正在处理的三个应用程序都部署在同一个域下,只是在不同的子域上。因此,如果我可以在所有应用程序中将 JSESSIONID cookie 域设置为 .mydomain.com,那么理论上第一个应用程序将有权删除所有 JSESSIONID,当然也会将它们从 cas 中注销,等等任何后续请求,他们将自动被重定向回登录。这可行吗?
    猜你喜欢
    • 2012-04-24
    • 2020-01-29
    • 2017-09-19
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 2015-11-16
    • 2015-10-22
    相关资源
    最近更新 更多