cas php client配置,搭建cas的php客户端

PHP-Client#

php-Client是官方支持的,去官网下个最新版就好了。phpCAS

接入很简单,解压放到web目录下:

+. docs/examples/目录下都是示例文件,这里取example_simple.php为例。

+. source/cas.php 核心文件

注:可能因为版本的不同目录结构会不一样。

下面是代码示例

//

// phpCAS simple client

//

// import phpCAS lib

// 引入文件

include_once('CAS.php');

// 开启log,注意目录读写权限

phpCAS::setDebug('tmp/cas.log');

// initialize phpCAS

// 四个参数分别是

// cas server 版本

// cas server 域名

// cas server 端口

// cas server 路径

phpCAS::client(CAS_VERSION_2_0, 'localhost', 8088, '/cas-server');

// 不验证SSL证书

phpCAS::setNoCasServerValidation();

// force CAS authentication

// 这个是强制认证模式,查看 client.php 可以找到集中不同的方式

// forceAuthentication

// checkAuthentication

// renewAuthentication

// 根据自己需要调用即可

phpCAS::forceAuthentication();

// 处理登出请求。cas服务端会发送请求通知客户端。如果没有同步登出,可能是服务端跟客户端无法通信(比如我的客户端是localhost, 服务端在云上)

phpCAS::handleLogoutRequests();

// at this step, the user has been authenticated by the CAS server

// and the user's login name can be read with phpCAS::getUser().

// 获取用户名

$username = phpCAS::getUser();

// 获取完整用户信息(在上一篇文章中介绍了如何扩展用户信息)

$userinfo = phpCAS::getAttributes();

// logout if desired

if (isset($_REQUEST['logout'])) {

// 这里貌似可以指定退出后返回的页面,但是我没有成功

// phpCAS::logout(['service'=>'http://localhost/cas-client/index.php']);

phpCAS::logout();

}

部署之后可以成功获取用户信息,同步登录登出。然而有个严重BUG,退出登录之后需要登录2次才能成功。。。目前还未解决

client.php 里封装了很多有用的方法,可以根据业务场景调用。

假如接入其他系统需要了解原系统的认证方式,然后视情况进行修改甚至重做。

遇到的问题:

设置phpCAS::handleLogoutRequests();后不能同步退出,是因为cas服务端无法连接测试环境的域名

phpCAS::logout(['service'=>'http://localhost/cas-client/index.php']); 设置退出登录后返回的页面,但是我这里没成功过

php客户端退出后需要登录2次(提交空表单或者Ctrl+F5刷新也可)才能登录。起初怀疑是缓存,然后在java服务端设置http头no-cache,结果我的2个php客户端其一可以正常登录了,另一个还是需要登录两次。。崩溃中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值