2012-01-25 54 views
0

驗證用戶當前是否通過CAS登錄的正確方法是什麼?如何驗證用戶是否通過CAS登錄

在每個網頁的頂部我有這樣的代碼:

phpCAS::isAuthenticated(); 

,但它給了我這個錯誤:

phpCAS::isAuthenticated(): this method should not be called before phpCAS::client() or phpCAS::proxy()

但是,如果我添加了調用phpCAS ::客戶端()像這樣:

phpCAS::client(CAS_VERSION_2_0, SSO_HOSTNAME, intval(SSO_PORT), SSO_URI, false); 
phpCAS::isAuthenticated(); 

我得到一個不同的錯誤:

phpCAS::client(): phpCAS::client() has already been called

請注意,我可以通過登錄和註銷用戶。我只需要驗證用戶是否在他通過網站時登錄。

謝謝。

回答

0

phpCAS在創建客戶端時設置全局變量。所以,phpCAS :: client()應該從全局包含的文件中調用 - 這樣任何對phpCAS :: isAuthenticated()的調用都是有效的。

爲了避免客戶端被多次創建,只需檢查是否設置了全局變量($ PHPCLIENT)。

相關問題