2012-01-25 4 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).

Смежные вопросы