信息发布→ 登录 注册 退出

thinkphp如何实现单点登录

发布时间:2019-08-26

点击量:

一、前提:CAS服务器搭建完成

这个不是本次的重点,不多讲。传送门:https://blog.csdn.net/u013825231/article/details/79132399

二、下载phpCAS客户端

php客户端下载:https://github.com/apereo/phpCAS

php客户端配置的注意事项等内容:https://apereo.atlassian.net/wiki/spaces/CASC/pages/103252517/phpCAS

php客户端的要求:https://apereo.atlassian.net/wiki/spaces/CASC/pages/103252625/phpCAS+requirements

注意:php配置文件php.ini需要开启php_curl,找到 ;extension=php_curl.dll ,将该句前面的分号去掉即可,改为 extension=php_curl.dll

三、thinkphp5引入phpCAS类库

1.下载好的phpCAS客户端文件结构。

相关推荐:《ThinkPHP教程》

2. 把source文件夹复制到thinphp5下的extend文件夹下,并重命名为:phpCAS

3. config.php文件的配置

4. 因为本人请求单点登录的服务器是http认证的,不是https,需要修改CAS/client.php,将其中的https改为http(刚开始没有修改client.php这个文件,总是使用https认证,所以请求失败)

5. 把CAS类库文件夹的同级文件CAS.php,重命名为phpCAS.php

修改成

6. 登录的控制器方法为:

setDebug();
        
        // Initialize phpCAS
        $phpCAS->client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context);
 
        // For quick testing you can disable SSL validation of the CAS server. 
        // THIS SETTING IS NOT RECOMMENDED FOR PRODUCTION. 
        // VALIDATING THE CAS SERVER IS CRUCIAL TO THE SECURITY OF THE CAS PROTOCOL! 
        $phpCAS->setNoCasServerValidation();
 
        //这里会检测服务器端的退出的通知,就能实现php和其他语言平台间同步登出了
        $phpCAS->handleLogoutRequests();
 
        //访问CAS的验证通过后,跳转到网页
        if($phpCAS->forceAuthentication()){ 
 
        echo "";
 
        };
        
     }
}

最后访问这个登录的方法,完成单点登录的页面跳转!

标签:# thinkphp  # 客户端  # 单点  # 命名为  # 类库  # 出了  # 就能  # 不多  # 刚开始  # 跳转  # 等内容  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!