phpcas 整合 ecms的问题
如果有ecms整合phpCAS经验的小伙伴可以给我留言,有偿付费
需求是:ecms登录自动跳转到CAS认证(已完成),认证后直接跳转到帝国cms系统中,并保持帝国cms系统权限等都和以前一样
正常使用
ecms是很多建站的开源cms选择之一,最近甲方提出一个额外需求是对接CAS框架实现SSO(单点登录)
关于单点登录原理,下面这篇博文是我见过,介绍的比较细致
当下我的进度是完成了
1.tomcat(jdk8)配置好了认证证书(能开启https服务,版本是cas-server-4.0.0-release)
2.配置好了php客户端(版本是CAS-1.3.5)
3.配置实现了phpcas认证方式从默认(默认用户名casuser,密码Mellon)到项目所需mysql的验证
在3步骤在参考众多博文挑选的以下三篇
1.配置证书,开启https => 搭建单点登录服务器
2.配置开启php客户端=>搭建1.3.5casphp客户端
3.phpcas连接Mysql=>cas-4.0.0-server 配置mysql数据库查询认证

可以看到在网站根目录下有phpproj1和phpproj2两个项目
当点击任何一个项目的页面时,如果发现没有登录,会自动跳转到认证中心去请求登录,此时session目录下(php/tmp)生成一个由认证中心生成的session,当然此时是0k 也就是生成了一个空session文件

配置完phpcas数据库认证,当输入用户名和密码成功后,认证中心会生成ticket并把ticket返回到当前页面,同时记录session。此时利用phpcas官网介绍的demo中调用
phpCAS::getUser()
从ticket中获取登录用户名
但是现在的根本问题是,ecms有一套自己生成session的机制,和之前的对比可以看出
ecms的session文件内容是——

目前我也是卡在这个地方
由于CAS认证中心有一套自己生成session机制,ecms自身也有一套生成session的机制,解决这个问题 个人觉得应该有两个解决思路
一 实现session共享
或者
二 修改ecms中session和cookie(是cookie和session共同验证)整合进CAS[但实现这点并不简单,因为ecms是cookie+session共同验证]





最后要实现的功能:ecms登录自动跳转到CAS认证(已完成),认证后直接跳转到帝国cms系统中,并保持帝国cms系统权限等都和以前一样
phpcas 整合 ecms的问题的更多相关文章
- 打通多个帝国CMS系统的会员整合与同步教程
例子:我们要整合下面三个帝国CMS系统网站名称分别为"A网站"."B网站"."C网站":安装系统的数据库名分别为"adb" ...
- CAS客户端整合(二) Zabbix
Zabbix是一个强大的服务器/交换机监控应用,有zabbix-server, zabbix-client, zabbix-web 三部分.zabbix-web管理端是用php写的. 前文参考:CAS ...
- CAS客户端整合(一) Discuz!
有好几个系统需要接入CAS,所以登录模块统统需要重构 版本 CAS服务端是Java的 Cas-server-4.0 CAS的php客户端 是 phpCAS-1.2.0 论坛版本是 Discuz!X3. ...
- CAS客户端整合(四)-- Cacti
Cacti 是一套纯 lnmp 搭建的服务器监控系统,用 SNMP 抓取数据,RRDTool 绘制表格 登录流程 Cacti 的登录同样是先判断session,再尝试从 cookie 读取 sessi ...
- [原创]mybatis中整合ehcache缓存框架的使用
mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...
- kindeditor4整合SyntaxHighlighter,让代码亮起来
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换 ...
- spring源码分析之freemarker整合
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...
- FullCalendar应用——整合农历节气和节日
FullCalendar用来做日程管理功能非常强大,但是唯一不足的地方是没有将中国农历历法加进去,今天我将结合实例和大家分享如何将中国农历中的节气和节日整合到FullCalendar中,从而增强其实用 ...
- SAP CRM 将组件整合至导航栏中
到现在,我们已经可以让组件独立地显示.我们只是运行它.让它显示在Web UI中.让我们把组件整合进导航栏,使我们可以在正常登录Web UI时访问它. 步骤一: 为你的UI组件主窗体创建一个内向插件. ...
随机推荐
- onclick时间加return和不加return的区别
JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置. 而该值决定了当前操作是否继续.当返回的是true时,将继续操作.当返回是 ...
- ruby大神与菜鸟的代码区别
之前Brand类 has_and_belongs_to_many :categories, index: true 现在在Category类 增加 has_and_belongs_to_many ...
- [HAOI 2015]树上染色
Description 题库链接 给出一棵 \(n\) 个节点的树,边有权值.让你将树上 \(k\) 个点染黑,剩余 \(n-k\) 个点染白.染色后记一种染色方案的价值为黑点间两两距离和以及白点间两 ...
- c#基础学习(0724)之可变参数、ref和out
params可变参数,无论有几个参数,必须出现在参数列表的最后,可以为可变参数直接传递一个对应类型的数组 #region 可变参数 //1.如果方法有多个参数,可变参数可以作为最后一个参数 //2.可 ...
- 【转】关于JTA,XA,ACID
对于我们这种初学者,可能会使用spring带给我们的@Transactional,可能了解JTA,可能会使用jotm.atomikos,又会遇到一些名词XA,支持XA的数据库驱动等等诸多问题,然后就会 ...
- 《码出高效 Java开发手册》第一章计算机基础(未整理)
码云地址: https://gitee.com/forxiaoming/JavaBaseCode/tree/master/EasyCoding
- django 数据库 ORM创建表单是出错
WARNINGS: ?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default' HINT: MySQL ...
- Bash:常用命令工具-tr命令
tr命令可以用来做简单的字符替换与删除,常用的有-d, -s选项.它的替换与删除是按单个字符来的 假设有以下文本: Read from the file words.txt and output th ...
- 依赖注入(一)构造函数注入(PHP)
构造函数注入(constructor injection)是依赖注入最常见的形式之一. 由名称可以看出,该技术需要我们把所有依赖显示的体现在构造函数中. 好了,直接上代码: <?php /** ...
- ios 为什么拖拽的控件为weak 手写的strong
ib拖拽的控件自动声明为weak 而平时自己手写的为strong 在ios中,对象默认都是强引用,不是强引用赋值后会立即释放 ib声明weak 不立即被释放 简单说就是 1.声明的弱引用指向强引用 ...