单点登录CAS解决方案<三>:phpCAS Client

「个人学习记录,肯定有理解错误和理解不透的地方,小白总是有个成长的过程,希望大家多多指教。」

    书接上文:单点登录CAS解决方案<二>:数据库验证,服务端已经有了,现在应该开始做客户端的了。由于手上现在在做PHP的,所以,就先记录下phpCAS的使用。先给几个相关的网站

phpCAS官方文档:https://wiki.jasig.org/display/CASC/phpCAS

phpCAS源码:https://github.com/Jasig/phpCAS

一、phpCAS下载

   原本官网上是有发布版下载的,我当时cas-server使用的版本是4.0.2的时候,下载发布版1.3.3的phpCAS,过程中有BUG,我就直接在github上下载最新的源码解决了问题。

    直接用使用git克隆代码:

> git clone https://github.com/Jasig/phpCAS.git



二、创建PHP项目

    1、创建自己的PHP项目,至于用什么框架,和开发工具,这儿就不说了,各有各的需求。将同步下来的代码的“source”目录拷贝到项目中,可以改名caslib之类的,以作区分

    2、项目中怎么使用呢?这个可以参考上面的官方文档和克隆下来的“docs/examples”目录下的例子。我这儿就直接使用他的例子来做一个超级简单的CAS客户端。

三、使用例子 

    

    1、如上图所示,我将phpCAS的CAS.php和CAS文件夹拷贝到caslib目录下

    2、创建一个index.php文件,内容如下:

<?php
require_once '/caslib/CAS.php';

// Enable debugging
phpCAS::setDebug();

// 第一个CAS协议版本号
// 第二个cas-server的域名
// 第三个cas-server的端口号
// 第四个cas-server的项目访问路径
phpCAS::client(CAS_VERSION_2_0, '127.0.0.1', 8443, 'sso');


// 这个是设置非SSL访问,在真实项目中不建议使用,不安全.
// 如果PHP环境没有openssl拓展的话,可以添加这个来测试单点登录的效果
phpCAS::setNoCasServerValidation();

// 这个方法确保用户是否验证过,如果没有验证则跳转到验证界面。
phpCAS::forceAuthentication();

// logout if desired
if (isset($_REQUEST['logout'])) {
	phpCAS::logout();
}

?>
<html>
  <head>
    <title>phpCAS simple client</title>
  </head>
  <body>
    <h1>验证成功</h1>
    <dl style='border: 1px dotted; padding: 5px;'>
      <dt>Current script</dt><dd><?php print basename($_SERVER['SCRIPT_NAME']); ?></dd>
      <dt>session_name():</dt><dd> <?php print session_name(); ?></dd>
      <dt>session_id():</dt><dd> <?php print session_id(); ?></dd>
    </dl>
    <p>登录用户为: <b><?php echo phpCAS::getUser(); ?></b>.</p>
    <p>phpCAS 版本号<b><?php echo phpCAS::getVersion(); ?></b>.</p>
    <p><a href="?logout=">Logout</a></p>
  </body>
</html>



    参数自行修改。启动PHP运行环境后,访问上面的index.php试试看效果,是不是效果出来了?

好吧,上面的也只是入门的例子,如果需要更理想的效果,还得慢慢的研究官方的文档,博客会持续更新的,如果有好的东东,一定会记录下来,也希望和大家能多多交流。




转载于:https://my.oschina.net/liucao/blog/479709

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值