我在我的应用程序上使用phpCAS (v1.3.2)。我想对CAS服务器进行定期检查,以确定用户是否已被其他参与SSO应用程序注销。但是,每当我执行phpCAS::checkAuthentication()或phpCAS::forceAuthentication()时,即使其他一些应用程序已经注销,或者即使我使用CAS服务器的注销url/链接进行直接注销,它也总是返回身份验证。我看到这是因为本地会话仍然存在,所以它不需要对服务器进行检查。其他应用程序是否有责任破坏这个会话?
另一种方式是完美地工作--也就是说,我对我的应用程序(w/c正在使用phpCAS)进行注销,然后我也会与其他参与的sso应用程序一起注销,甚至在服务器的门户上。顺便说一下,我已经尝试过CAS库提供的所有示例。都没起作用。
我错过了什么?
发布于 2013-11-11 16:15:28
与其主动检查CAS服务器,不如侦听来自CAS服务器的用户注销的通知。要做到这一点,您需要实现单点退出。有如何在phpCAS中执行此操作的示例:只需在调用phpCAS::forceAuthentication()之前将phpCAS::handleLogoutRequests(false);添加到登录脚本中即可。
https://stackoverflow.com/questions/19726924
复制相似问题