CAS4.2.7 的 php 客户端1.3.5 的简单实践_etongs的博客-CSDN博客_rebroadcast_node_2


本站和网页 https://blog.csdn.net/etongs/article/details/73327507 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

CAS4.2.7 的 php 客户端1.3.5 的简单实践_etongs的博客-CSDN博客_rebroadcast_node_2
CAS4.2.7 的 php 客户端1.3.5 的简单实践
etongs
于 2017-06-16 11:57:59 发布
6152
收藏
分类专栏:
php
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/etongs/article/details/73327507
版权
php
专栏收录该内容
2 篇文章
0 订阅
订阅专栏
CAS作为开源的sso项目,很多人都在使用,网上也很多教程,但是普遍都比较老的版本,时间也很久了,目前我的项目需要用到单点登录,我找了cas比较新的版本来做部署,经过一周的折腾,终于调试成功,现将经验说明如下。
CAS Server需单独部署,我部署的是4.2.7的版本,环境windows7 x64 + jdk8 + tomcat8,网上下载CAS server的war包,解压后修改配置,放到tomcat的webapps下运行即可。此处不详述,以后有空再写cas sever的配置过程。
CAS client的java版本,我本机也已经配置,大概步骤就是maven的pom.xml添加cas的依赖包,web.xml配置5个过滤器和1个监听器,然后把原系统的登录页去掉,原登录验证的过滤器或者拦截器改一下就ok了,具体不详述,本文的重点是php。
php cas 配置步骤:
    1、先新建一个php项目phpproj,我用的PhpStorm.
    2、从官网下载php的client, https://wiki.jasig.org/display/CASC/phpCAS
          选择 download 下面的 Current Version,我目前的是1.3.5.
          解压后把CAS-1.3.5下的CAS目录拷贝到工程目录phpproj下,把CAS-1.3.5\CAS.php拷贝到工程目录下,把CAS-1.3.5\docs\examples\config.example.php、script_info.php拷贝到工程目录下,config.example.php改名config.php。我的项目结构如下:
    3、修改配置config.php
$cas_host = ‘localhost’,
$cas_context = '/cas',$cas_port = 8443
$cas_real_hosts = array('localhost', 'localhost');$client_domain = 'localhost';$client_path = 'phpproj';$rebroadcast_node_1 = 'http://localhost:81';
$rebroadcast_node_2 = 'http://localhost:81';
我的config.php如下:<?php
/**
* The purpose of this central config file is configuring all examples
* in one place with minimal work for your working environment
* Just configure all the items in this config according to your environment
* and rename the file to config.php
* PHP Version 5
* @file config.php
* @category Authentication
* @package PhpCAS
* @author Joachim Fritschi <jfritschi@freenet.de>
* @author Adam Franco <afranco@middlebury.edu>
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
* @link https://wiki.jasig.org/display/CASC/phpCAS
*/
$phpcas_path = '../../source/';
///
// Basic Config of the phpCAS client //
///
// Full Hostname of your CAS Server
$cas_host = 'localhost';
// Context of the CAS Server
$cas_context = '/cas';
// Port of your CAS server. Normally for a https server it's 443
$cas_port = 8443;
// Path to the ca chain that issued the cas server certificate
$cas_server_ca_cert_path = '/path/to/cachain.pem';
//
// Advanced Config for special purposes //
//
// The "real" hosts of clustered cas server that send SAML logout messages
// Assumes the cas server is load balanced across multiple hosts
$cas_real_hosts = array('localhost', 'localhost');
// Client config for cookie hardening
$client_domain = 'localhost';
$client_path = 'phpproj';
$client_secure = true;
$client_httpOnly = true;
$client_lifetime = 0;
// Database config for PGT Storage
$db = 'pgsql:host=localhost;dbname=phpcas';
//$db = 'mysql:host=localhost;dbname=phpcas';
$db_user = 'phpcasuser';
$db_password = 'mysupersecretpass';
$db_table = 'phpcastabel';
$driver_options = '';
///
// End Configuration -- Don't edit below //
///
// Generating the URLS for the local cas example services for proxy testing
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
$curbase = 'https://' . $_SERVER['SERVER_NAME'];
} else {
$curbase = 'http://' . $_SERVER['SERVER_NAME'];
if ($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443) {
$curbase .= ':' . $_SERVER['SERVER_PORT'];
$curdir = dirname($_SERVER['REQUEST_URI']) . "/";
// CAS client nodes for rebroadcasting pgtIou/pgtId and logoutRequest
$rebroadcast_node_1 = 'http://localhost:81';
$rebroadcast_node_2 = 'http://localhost:81';
// access to a single service
$serviceUrl = $curbase . $curdir . 'example_service.php';
// access to a second service
$serviceUrl2 = $curbase . $curdir . 'example_service_that_proxies.php';
$pgtBase = preg_quote(preg_replace('/^http:/', 'https:', $curbase . $curdir), '/');
$pgtUrlRegexp = '/^' . $pgtBase . '.*$/';
$cas_url = 'https://' . $cas_host;
if ($cas_port != '443') {
$cas_url = $cas_url . ':' . $cas_port;
$cas_url = $cas_url . $cas_context;
// Set the session-name to be unique to the current script so that the client script
// doesn't share its session with a proxied script.
// This is just useful when running the example code, but not normally.
session_name(
'session_for:'
. preg_replace('/[^a-z0-9-]/i', '_', basename($_SERVER['SCRIPT_NAME']))
);
// Set an UTF-8 encoding header for internation characters (User attributes)
header('Content-Type: text/html; charset=utf-8');
?>
4、用个简单页面做测试,把CAS-1.3.5\docs\examples\example_simple.php拷贝到工程目录,修改require_once $phpcas_path . '/CAS.php'; 为require_once 'CAS.php';添加phpCAS::setLang(PHPCAS_LANG_CHINESE_SIMPLIFIED);支持中文。这样配置就做好了。5、现在重启apache,注意php需要添加curl库,php用ticket到认证服务器校验票据时会用到,不知道怎么加的亲们看我的上一篇文章。访问 http://localhost:81/phpproj/example_simple.php ,就会出现cas server的登录页:输入用户密码登录成功后即跳转回本页面:然后同一个浏览器内关掉这个页,再重新打开,或者直接刷新,不会再出现登录页面。 我访问java的cas客户端项目登录后,再打开这个php项目,也无需登录直接可进入,并显示登录用户这样php的客户端就配置完成!CAS Sever还可以携带除登录名外的其他用户信息给客户端,php接收用户信息的代码如下:
<?php
$attr_array = phpCAS::getAttributes();
foreach($attr_array as $x=>$x_value)
echo "cas server返回的用户属性 $x = $x_value";
echo "<br>";
?>效果图:当然这只是最简单的配置,实际项目中,还有许多细节要处理,比如登录成功后 添加session属性值等。
etongs
关注
关注
点赞
收藏
打赏
评论
CAS4.2.7 的 php 客户端1.3.5 的简单实践
CAS作为开源的sso项目,很多人都在使用,网上也很多教程,但是普遍都比较老的版本,时间也很久了,目前我的项目需要用到单点登录,我找了cas比较新的版本来做部署,经过一周的折腾,终于调试成功,现将经验说明如下。CAS Server需单独部署,我部署的是4.2.7的版本,环境windows7 x64 + jdk8 + tomcat8,网上下载CAS server的war包,解压后修改配置,放到t
复制链接
扫一扫
专栏目录
CAS客户端php版
10-30
CAS客户端php版 经本人验证可以使用。可以参考
http://blog.csdn.net/xiangyuanhong08/article/details/78390664
基于laravel 5.7 集成 phpCAS 1.3.8 单点登出踩坑记。
kkkkk4400的专栏
12-13
399
PHP是世界上最优美的语言,没有之一。从没有在PHP之外的后端语言中掉过如此之多的坑。包括C C++ C# JAVA erlang golang python。
未找到有laravel+phpcas单点登出的案例,基本都只介绍了单点登录。
仅以此文,希望大家等少走点坑...
参与评论
您还未登录,请先
登录
后发表或查看评论
NS2中基于AODV协议实现的请求洪泛攻击
norbert.jiang的专栏
07-07
2031
转载地址:
Mobile ad hoc networks will often be deployed in environments where the nodes of the networks are unattended and have little or no physical protection against tampering. The nodes of mobile
thinkphp5引入phpCAS单点登录
qq_32320151的博客
12-09
5206
一、前提:CAS服务器搭建完成
这个不是本次的重点,不多讲。传送门:https://blog.csdn.net/u013825231/article/details/79132399
二、下载phpCAS客户端
php客户端下载:https://github.com/apereo/phpCAS
php客户端配置的注意事项等内容:https://apereo.atlassian.net/wi...
动态源路由协议(Dynamic Source Routing, DSR)
飞奔的火鸟
02-26
4352
动态源路由协议(Dynamic Source Routing, DSR)是在移动自组网(MANET)中使用的一种路由协议。它工作在TCP/IP协议族的网际层。
  
它的首部采用扩展性良好的TLV格式。除固定部分外,不同类型的选项(option)以TLV格式附加在固定部分之后。
  
选项的种类包括:
  路由请求(Route Request)
  路由应答(Route Reply)
  确认请求...
cas php client配置,搭建cas的php客户端
weixin_39601642的博客
03-09
140
PHP-Client#php-Client是官方支持的,去官网下个最新版就好了。phpCAS接入很简单,解压放到web目录下:+. docs/examples/目录下都是示例文件,这里取example_simple.php为例。+. source/cas.php 核心文件注:可能因为版本的不同目录结构会不一样。下面是代码示例//// phpCAS simple client//// import ...
PHPCAS客户端搭建教程
LuckyLJun的博客
03-20
962
**
PHPCAS客户端搭建教程
**
一.准备
PhpStudy环境搭建(自行搜索搭建方法,我挑的是最简单的支持解析PHP环境的PhpStudy;如若你有其他支持解析php的服务器环境,那就不需要再来搞这个PhpStudy环境了。)
phpCAS下载链接:https://github.com/apereo/phpCAS/releases
下载需要的版本,比如1.3.8版本
二.解压
...
php cas没有检测出退出,CAS客户端单点退出实现-(五)
weixin_33182922的博客
03-21
176
步骤一、搭建CAS服务器 –>修改application.properties加入如下配置,该配置的作用是允许退出登录后重定向到其他页面cas.logout.followServiceRedirects=true二、搭建两个CAS客户端这里就直接使用前两节搭建的cas-clientA和cas-clientB作为客户端,可以到GIT仓库https://gitee.com/oumuv/cas...
PHP使用phpCAS对接CAS单点登陆系统
让编程改变世界
09-11
9017
PHP使用phpCAS对接CAS单点登陆系统综述`CAS`单点登陆原理搭建`CAS SSO`SERVER服务端下载`phpCAS`客户端phpCAS客户端配置PHP开发对接注意
综述
本文档用来说明如何使用PHP对接CAS单点登陆系统。
想要对接使用CAS单点登陆,我们首先需要了解什么是单点登陆。本博文主要对下面几项进行说明:
了解CAS单点登录原理解析
搭建CAS SSOSERVER服务端;
...
cas php客户端配置,cas-client单点登录客户端使用案例
weixin_29144259的博客
04-01
254
上一篇记录了关于cas-server的服务端安装服务端搭建完毕后,开始使用客户端请求了。客户端的下载地址: http://developer.jasig.org/cas-clients/那么客户端的使用例子,在下载包里面,我们可以得到example例子,但是全部是英文可能会看起来不太舒服。由于cas-server默认采取的是https协议,所以cas-client逻辑里也有一些地方默认用https...
网络设备对象的注册与注销
九天小哥的专栏
11-13
2681
网络设备对应的结构体是struct net_device,而且驱动程序只有将该结构注册给内核,内核才认为这是一个合法的网络设备,这篇笔记就记录了驱动程序如何将网络设备注册给内核,以及对应反操作,如何去注册。
1. net_device的创建
首先,驱动程序需要创建一个struct net_device结构,并且填充其中必要的成员,然后才能注册给内核。
网络设备种类有很多,但是从软件层面来看,又有很...
php cas https配置,phpcas默认只访问https的问题
weixin_42513216的博客
03-21
296
使用谷歌,默认的https是不安全的连接,无法访问的。找了多久的设置,官方也翻了一下,没有翻到,估计不仔细,没有找到配置的地方。直接找的代码,在文件:\vendor\apereo\phpcas\source\CAS\Client.php的第317行,有一个写死的httpsprivate function _getServerBaseURL(){// the URL is build only wh...
【自组织网络-组播技术】ODMRP
最新发布
m0_51689298的博客
12-16
59
Adaptive On-Demand Multicast Routing Protocol for Mobile Ad Hoc Networks
Spark踩坑记——共享变量
weixin_30823001的博客
03-31
103
目录
前言
累加器
广播变量
更新广播变量(rebroadcast)
总结
参考文献
前言
Spark踩坑记——初试
Spark踩坑记——数据库(Hbase+Mysql)
Spark踩坑记——Spark S...
phpCAS 单点登录
Tjhfsghbjknjdy的博客
08-15
1981
根目录下新建文件 phpcas
下载phpCAS 我的文件链接https://github.com/15657318057/phpCAS-Example/tree/master/phpcas
修改config.php
新建示例文件 如verify.php
config.php
<?php
/**
* The purpose of this central config...
cas php client配置,php使用phpCAS接入CAS SSO
weixin_42663213的博客
03-09
126
源码:外链网址已屏蔽文档:外链网址已屏蔽安 装ubuntu下使用pear安装sudo pear install 外链网址已屏蔽配置//CASServer主机$cas_host='cas-server';//CASServer路径$cas_context='/cas';//CASserver.端口$cas_port=443;//CASServer证书$cas_s...
JAVA和PHP版CAS客户端集成
奔跑中的小象的博客
10-30
5800
一、背景
随着公司的不断的发展壮大和公司信息的建设逐步完善,公司内部系统也在不断的增加,为避免公司员工因系统过多造成账号密码混乱或忘记密码情况。公司决定将公司内部系统进行统一登录管理。通过CAS实现公司内部业务系统,用户只需登录一次就可以访问公司所有内部系统的单点登录。
二、使用范围
公司内部系统所有开发人员、产品部产品设计人员、测试部测试人员。
三、CAS简介
CAS ( Centra
php 用CAS实现SSO单点登陆及登出功能
热门推荐
Sara的专栏
08-04
4万+
php用CAS实现SSO单点登陆及登出功能
一..CAS服务器搭建
CAS服务器端下载地址:http://downloads.jasig.org/cas/
解压cas-server-4.0.0-release.zip将modules目录下的cas-server-webapp-4.0.0.war改名称为cas.war复制到tomcat的webapps下,启动tomcat,访问
配置CAS客户端(php 客户端 )
hzcyclone的专栏
03-22
4158
配置CAS客户端(php 客户端 )
Php客户端配置相当简单,你只需把php客户端包解压至服务器根目录下, cas 的php 客户端就配置好了。
phpCAS requirements
Webserver
Any webserver like Apache, IIS and others should work.
CURL (7.5+)
PHP CAS客户端搭建(用于登录公司OA系统)PHPCAS 服务端公司已经搭建好了
tenggeer0789的博客
05-06
1130
详细教程见
https://blog.csdn.net/etongs/article/details/73327507
phpCAS::client(CAS_VERSION_2_0, ‘ssaao.aaaaaaa.com’,443,"");
//phpCAS::client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context);
$cas_ho...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
etongs
CSDN认证博客专家
CSDN认证企业博客
码龄20年
暂无认证
原创
51万+
周排名
163万+
总排名
1万+
访问
等级
247
积分
粉丝
获赞
评论
收藏
私信
关注
热门文章
php 不支持 curl 的终极解决方案
6645
CAS4.2.7 的 php 客户端1.3.5 的简单实践
6152
mysql5.7.17 绿色版 最简洁的安装步骤(亲测可用)
5235
spring boot 下 shiro+redis与mybatis redis cache冲突的解决办法
1697
分类专栏
数据库
1篇
java
1篇
php
2篇
最新评论
php 不支持 curl 的终极解决方案
僧情不兽:
extension_dir 点醒我,解决了!!!666点赞
php 不支持 curl 的终极解决方案
lcd{null}:
可以了,666
php 不支持 curl 的终极解决方案
zdog_:
我曹 牛逼了,我各种方法都不行,你这个屌
mysql5.7.17 绿色版 最简洁的安装步骤(亲测可用)
码农囚徒:
不错,干得漂亮
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
spring boot 下 shiro+redis与mybatis redis cache冲突的解决办法
php 不支持 curl 的终极解决方案
mysql5.7.17 绿色版 最简洁的安装步骤(亲测可用)
2017年4篇
目录
目录
分类专栏
数据库
1篇
java
1篇
php
2篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
etongs
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值