如果用户目前是通过CAS登录的,那么正确的验证方法是什么?
在每个网页的顶部,我都有这样的代码:
phpCAS::isAuthenticated();但它给了我一个错误:
phpCAS::isAuthenticated():不应在phpCAS::client()或phpCAS::proxy()之前调用此方法
但是,如果我将调用添加到phpCAS::client(),如下所示:
phpCAS::client(CAS_VERSION_2_0, SSO_HOSTNAME, intval(SSO_PORT), SSO_URI, false);
phpCAS::isAuthenticated();我得到了一个不同的错误:
phpCAS::client():phpCAS::client()已经被调用
请注意,我可以登录一个用户进出通过。我只需要验证用户是否登录时,他通过该网站。
谢谢。
发布于 2012-03-03 03:08:55
phpCAS在创建客户端时设置一个全局变量。因此,应该从全局包含的文件中调用phpCAS::client() &这样,对phpCAS::isAuthenticated()的任何调用都是有效的。
为了避免多次创建客户机,只需检查是否设置了全局变量( $PHPCLIENT )。
https://stackoverflow.com/questions/9010930
复制相似问题