1

我在我的应用程序上使用 phpCAS (v 1.3.2)。我想对 CAS 服务器进行定期检查,以确定用户是否已被其他参与的 SSO 应用程序注销。但是,每当我执行 phpCAS::checkAuthentication() 或 phpCAS::forceAuthentication() 时,即使其他一些应用程序已经注销,或者即使我使用 CAS 服务器的注销 url/链接直接注销,它也总是会返回经过身份验证的。我看到这是因为本地会话仍然存在,所以它不需要对服务器进行检查。销毁这个会话是其他应用程序的责任吗?

另一种方式工作得很好——也就是说,我在我的应用程序上注销(w/c 正在使用 phpCAS)然后我也与其他参与的 sso 应用程序甚至在服务器的门户上注销。顺便说一句,我已经尝试了 CAS 库提供的所有示例。没有工作。

我错过了什么?

4

1 回答 1

2

与其主动检查 CAS 服务器,不如侦听来自CAS 服务器的用户已注销的通知。为此,您需要实现单点注销。在 phpCAS 中有一个如何执行此操作的示例:只需phpCAS::handleLogoutRequests(false);在调用phpCAS::forceAuthentication().

于 2013-11-11T16:15:28.610 回答