2013-11-01 35 views
0

我在我的應用程序上使用phpCAS(v 1.3.2)。我想對CAS服務器進行定期檢查,以確定用戶是否已被其他參與的SSO應用程序註銷。但是,無論何時執行phpCAS :: checkAuthentication()或phpCAS :: forceAuthentication(),即使其他應用程序已經註銷,或者即使我使用CAS服務器的註銷url /鏈接直接註銷,它也會始終返回認證。我看到這是因爲本地會話仍然存在,所以它不費心檢查服務器。其他應用程序是否有責任銷燬此會話?phpCAS單點退出或檢查身份驗證

另一種方式是完美工作 - 也就是說,我在我的應用程序上註銷(w/c使用phpCAS),然後我也退出其他參與sso應用程序,甚至在服務器的門戶。順便說一下,我已經嘗試了CAS庫提供的所有示例。沒有工作。

我錯過了什麼?

回答

1

而不是主動檢查CAS服務器,您應該監聽用戶註銷的CAS服務器的通知。爲此,您需要實施single sign out。有an example of how to do this in phpCAS:只需將phpCAS::handleLogoutRequests(false);添加到您的登錄腳本中,然後致電phpCAS::forceAuthentication()