在cas中注销的问题

时间:2016-06-23 09:59:56

标签: spring-mvc spring-security cas

我正在使用spring构建应用程序,我实现了弹簧安全性。

我有多个应用程序,要合并它们我正在使用cas。

Flow of cas

在所有项目中都有一个" Log Out"选项以及Gate Way项目。

所以我的问题是当我点击退出时,只有当前的项目会话无法全部失效。所以我怎么能解决这个问题。

问题是什么假设user1已登录并从Project 1退出。在用户2登录后,即使我在Gate Way项目中收到user1信息,一旦我重定向到Project1,我就会得到正确的信息。同样的事情,如果我从这个项目中的Gate Way项目注销,我只会登录用户信息,而在其他项目中,我之前已经登录了用户信息。

如何解决这个问题我已经尝试了很多东西,但我没有得到任何解决方案。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您需要实现CAS单点注销,当向cas退出端点发出请求时,如果您有单一注销启用,则cas可以联系到当前与其进行会话的所有其他应用程序。它将尝试从所有这些会话中记录用户

答案 1 :(得分:0)

最后我手动修复了这个问题而不是CAS提供。

onklick logot而不是调用CAS我正在调用相应应用程序的方法。 manuall我正在做session.invalidate(),并通过休息服务我调用其他应用程序的所有注销方法。我也在做同样的操作,即session.invalidate()。最后,我将重定向到Gate Way项目的注销方法,同样也在这里工作。最后它将我重定向到cas loggin页面。