cas 单点登录 php,PHPCAS-单点登录/单点登出

PHPCAS-单点登录/单点登出

参考:https://blog.csdn.net/lishuangzhe7047/article/details/38587151(万分感谢)

PS:第一次调试PHP的单点登录功能,登录能成功,登出一直不行。后来找了好久资料终于可以了,记录一下。这个PHP项目用的是Think-CMF,CAS-SERVER以及CAS-CLIENT均使用本机IP+端口的形式访问,下面是登录功能的参考代码。

public function login() {

include_once VENDOR_PATH . ‘/phpcas/CAS.php’;

\phpCAS::setDebug(RUNTIME_PATH.’/log/cas.log’);//cas日志开启,注意路径

\phpCAS::client(CAS_VERSION_2_0,’CAS-SERVER的IP或者域名’,CAS-SERVER端口,’/CAS-SERVER路径’);

//no SSL validation for the CAS server 不使用SSL服务校验

\phpCAS::setNoCasServerValidation();

//这里会检测服务器端的退出的通知,就能实现php和其他语言平台间同步登出了

//\phpCAS::handleLogoutRequests(true,[‘CAS服务器IP’]);

//\phpCAS::handleLogoutRequests(false);

\phpCAS::handleLogoutRequests();

\phpCAS::forceAuthentication();//此处必须在handleLogoutRequests后面,我之前写在前面一直不行

// 调用此方法以检查用户是否已通过身份验证(使用网关功能)。用户通过身份验证时为TRUE;否则为FALSE。

if(\phpCAS::checkAuthentication()){

$username = \phpCAS::getUser();

if (!empty($username)) {

$this->doLogin($username);//此处做系统登录操作,根据自己的项目适当调整

}

}

}

你可能感兴趣的:(cas,单点登录,php)