`
fuerbosi
  • 浏览: 466332 次
文章分类
社区版块
存档分类
最新评论

cas ucenter 集成

 
阅读更多

最近一个项目,用两种语言完成,会员部分和相册是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同步登陆康盛系列产品。(本文仅供学习参考,本人不对修改源程序产生的一切问题负责)

分享到:
评论

相关推荐

    完全版-官方UCenter1.5 UCHome2.0 Discuz7.2集成安装包简体GBK.zip

    UCenter/UCenter Home/Discuz! 集成安装包 本集成包集成了以下Comsenz正式版产品: UCenter 1.5 (用户中心) UCenter Home 2.0 (个人空间) Discuz! 7.2 (论坛) 通过本集成安装包,您可以立即全新安装上述...

    UCenter1.5.0/UCenter Home1.5/Discuz! 7.0 集成安装包

    此版本将 UCenter 1.5.0 、Discuz! 7.0.0 和 UCenter Home 1.5 进行整合,只需一次安装即可完全安装。 适用用户:推荐给需要使用论坛和 UCHome 的用户和新手用户安装使用。

    php仿百度知道集成ucenter

    php仿百度知道集成ucenter php 仿百度贴吧 仿百度知道 仿知道源码

    ecshop discuz ucenter整合

    安装过程中与ucenter集成,不需要我做任何事情 3.安装ecshop 将uc_client拷贝到根目录下.然后将配置拷贝到data /config.php 1. 2. define('UC_CONNECT', 'mysql'); 3. define('UC_DBHOST', 'localhost'); 4. ...

    ecshop整合ucenter配置文件

    ecshop整合ucenter配置文件

    UCenter用户中心手册+好的后台管理界面

    UCenter 的中文意思就是“用户中心”,其中的 U 代表 User 也代表 You,取其中的含义就是“用户中心”,或者说“你(最终用户)的中心”。UCenter 是今后 Comsenz 旗下各个产品之间信息直接传递的一个桥梁,通过 ...

    codeigniter集成ucenter1.6双向通信的解决办法

    先装好ucenter,然后新建一个other的应用,把生成的代码拷出来,新建一个config.ini.php到你的uc_client,ucenter会产生一个yourdomain.com/api/uc.php的请求,/api/uc.php不需要填写,要保证ucenter请求正确位置,...

    UCenter+接口开发手册

    UCenter 的中文意思就是“用户中心”,其中的 U 代表 User 也代表 You,取其中的含义就是“用户中心”,或者说“你(最终用户)的中心”。UCenter 是今后 Comsenz 旗下各个产品之间信息直接传递的一个桥梁,通过 ...

    discuz-ucenter-api-for-java

    Comsenz(康盛)的 UCenter 当前在国内的单点登录领域占据绝对份额,其完整的产品线令 UCenter 成为了账号集成方面事实上的标准。基于 UCenter,可以将 Comsenz 旗下的 Discuz!(社区论坛系统)、SupeSite(门户CMS...

    UCenter 接口开发手册

    UCenter 应用开发集成度指标(根据难易程度) 编号: 集成内容 难易程度 A1: 用户的注册和登录 10 A2: 同步登录、同步退出登录 5 A3: 短消息(接口方式或短消息中心方式) 10 A4: 好友信息的同步 10 A5: 积分兑换 15...

    ucenter2.2

    UCenter Home 介紹 --------------------------------------- UCenter Home 是一套採用PHP+MYSQL構建的 社會化網絡軟件(Social Network Software,簡稱SNS)。 通過 UCenter Home,您可以輕鬆構建一個以好友關係為...

    UCenter 1.6.0 UCenter Home 2.0 Discuz! x2整合

    UCenter 1.6.0 (用户中心) UCenter Home 2.0 (个人空间) Discuz! x2 (论坛) 因为原整合版本是discuz7.0的版本 所以INSTALL之后 记得第四步 内服说明

    UCenter1.5.1 GBK 压缩包

    UCenter1.5.1 GBK 压缩包

    UCenter安装包.zip

    里面有Ucenter_1.5.0和Ucenter_Home_2.0

    ucenter discuz Java api

    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[论坛社区]UCenter Home 2.0 正式版 简体中文UTF-8_ucenter_home_2.0_sc_utf.zip 1.适合个人搭建网站项目参考 2.适合学生毕业设计搭建...

    UCenter_应用开发简略指南

    想把自己的程序集成到UCenter?这篇文章会告诉你如何让自己的程序加入到UCenter的大家庭里。

    UCenter 1.6.0 简体中文 UTF8.zip

    UCenter是Comsenz旗下各个产品之间信息直接传递的一个桥梁,通过UCenter站长可以无缝整合Comsenz系列产品,实现用户的一站式登录以及社区其他数据的交互。 UCenter拥有机制完善的接口,经过简单修改便可以挂接其它...

    ucenter表结构说明

    UCenter表结构说明,对UCenter数据库字段进行了详细说明,针对UCenter开发的童鞋可以下载下来看看

    asp和ucenter整合接口

    asp和ucenter整合接口,asp和ucenter整合接口

Global site tag (gtag.js) - Google Analytics