
一、前提:CAS服务器搭建完成
这个不是本次的重点,不多讲。传送门:https://blog.csdn.net/u013825231/article/details/79132399
二、下载phpCAS客户端
php客户端下载:https://github.com/apereo/phpCAS
立即学习“PHP免费学习笔记(深入)”;
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教程》
造点AI
夸克 · 造点AI
325 查看详情
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 "parent.location.href='http://www.baidu.com';"; }; }}
最后访问这个登录的方法,完成单点登录的页面跳转!
以上就是thinkphp如何实现单点登录的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/212852.html
微信扫一扫
支付宝扫一扫