最近一个项目,用两种语言完成,会员部分和相册是jsp,其他的部分是discuz7+ucenter1.5+uchome2+ecmall2,php的。不同系统不同语言,同步登录问题就摆在眼前了。要求用jsp部分的会员信息作为登录信息。实现方案是采用CAS。php部分的几个系统有ucenter来实现登录整合,当前的问题是PHP与jsp之间的登录整合。服务器端CAS安装网上很多介绍,CAS的PHP端用PHPCAS。下面介绍discuz的代码改造
其实也很简单。找到discuz的logging.php 这个是登陆入口,在第二行插入
define('CAS_ENABLE', true);
define('CAS_SERVER_HOSTNAME', "CAS服务器地址");
define('CAS_SERVER_PORT', 80);
define('CAS_SERVER_APP_NAME', "CAS验证入口");
require_once("CAS.php");
phpCAS::client(CAS_VERSION_2_0, CAS_SERVER_HOSTNAME, CAS_SERVER_PORT, CAS_SERVER_APP_NAME);
phpCAS::setNoCasServerValidation();
phpCAS::forceAuthentication();
if($action<>'logout'){
unset($_COOKIE);
$action='login';
$username = phpCAS::getUser();
$password = '';
$loginsubmit='yes';
$cookietime="2592000";
$allowsynlogin = 1;
}
找到这行showmessage('logout_succeed', dreferer()); 在它上面加入
phpCAS::logout();
之后找到uc_client /control目录下的user.php 注释掉第123行开始的
elseif($user['password'] != md5($passwordmd5.$user['salt'])) {
$status = -2;
} elseif($checkques && $user['secques'] != '' && $user['secques'] != $_ENV['user']->quescrypt($questionid, $answer)) {
$status = -3;
}
找到uc_client /model目录下的user.php ,注释掉第100行开始的
elseif($user['password'] != md5(md5($password).$user['salt'])) {
return -2;}
代码改造结束,这样discuz利用CAS登录后返回的用户名进行登录。没有用密码做ucenter同步登陆,可能不太安全,其实也可以从CAS取得用户名的同时再申请取得密码给$password,这样的话就不需要修改uc_client 目录下的两个user.php文件了。推荐还是从CAS同时取得密码,这样安全些。
至此discuz不但能通过CAS实现与其他系统的同步登陆,同时能够实现同过ucenter同步登陆康盛系列产品。(本文仅供学习参考,本人不对修改源程序产生的一切问题负责)
分享到:
相关推荐
UCenter/UCenter Home/Discuz! 集成安装包 本集成包集成了以下Comsenz正式版产品: UCenter 1.5 (用户中心) UCenter Home 2.0 (个人空间) Discuz! 7.2 (论坛) 通过本集成安装包,您可以立即全新安装上述...
此版本将 UCenter 1.5.0 、Discuz! 7.0.0 和 UCenter Home 1.5 进行整合,只需一次安装即可完全安装。 适用用户:推荐给需要使用论坛和 UCHome 的用户和新手用户安装使用。
php仿百度知道集成ucenter php 仿百度贴吧 仿百度知道 仿知道源码
安装过程中与ucenter集成,不需要我做任何事情 3.安装ecshop 将uc_client拷贝到根目录下.然后将配置拷贝到data /config.php 1. 2. define('UC_CONNECT', 'mysql'); 3. define('UC_DBHOST', 'localhost'); 4. ...
ecshop整合ucenter配置文件
UCenter 的中文意思就是“用户中心”,其中的 U 代表 User 也代表 You,取其中的含义就是“用户中心”,或者说“你(最终用户)的中心”。UCenter 是今后 Comsenz 旗下各个产品之间信息直接传递的一个桥梁,通过 ...
先装好ucenter,然后新建一个other的应用,把生成的代码拷出来,新建一个config.ini.php到你的uc_client,ucenter会产生一个yourdomain.com/api/uc.php的请求,/api/uc.php不需要填写,要保证ucenter请求正确位置,...
UCenter 的中文意思就是“用户中心”,其中的 U 代表 User 也代表 You,取其中的含义就是“用户中心”,或者说“你(最终用户)的中心”。UCenter 是今后 Comsenz 旗下各个产品之间信息直接传递的一个桥梁,通过 ...
Comsenz(康盛)的 UCenter 当前在国内的单点登录领域占据绝对份额,其完整的产品线令 UCenter 成为了账号集成方面事实上的标准。基于 UCenter,可以将 Comsenz 旗下的 Discuz!(社区论坛系统)、SupeSite(门户CMS...
UCenter 应用开发集成度指标(根据难易程度) 编号: 集成内容 难易程度 A1: 用户的注册和登录 10 A2: 同步登录、同步退出登录 5 A3: 短消息(接口方式或短消息中心方式) 10 A4: 好友信息的同步 10 A5: 积分兑换 15...
UCenter Home 介紹 --------------------------------------- UCenter Home 是一套採用PHP+MYSQL構建的 社會化網絡軟件(Social Network Software,簡稱SNS)。 通過 UCenter Home,您可以輕鬆構建一個以好友關係為...
UCenter 1.6.0 (用户中心) UCenter Home 2.0 (个人空间) Discuz! x2 (论坛) 因为原整合版本是discuz7.0的版本 所以INSTALL之后 记得第四步 内服说明
UCenter1.5.1 GBK 压缩包
里面有Ucenter_1.5.0和Ucenter_Home_2.0
ucenter discuz Java api
[论坛社区]UCenter Home 2.0 正式版 简体中文UTF-8_ucenter_home_2.0_sc_utf.zip[论坛社区]UCenter Home 2.0 正式版 简体中文UTF-8_ucenter_home_2.0_sc_utf.zip 1.适合个人搭建网站项目参考 2.适合学生毕业设计搭建...
想把自己的程序集成到UCenter?这篇文章会告诉你如何让自己的程序加入到UCenter的大家庭里。
UCenter是Comsenz旗下各个产品之间信息直接传递的一个桥梁,通过UCenter站长可以无缝整合Comsenz系列产品,实现用户的一站式登录以及社区其他数据的交互。 UCenter拥有机制完善的接口,经过简单修改便可以挂接其它...
UCenter表结构说明,对UCenter数据库字段进行了详细说明,针对UCenter开发的童鞋可以下载下来看看
asp和ucenter整合接口,asp和ucenter整合接口