公告:如果您的账号不能登录,可能是系统对您账号进行了保护,我们发现系统中存在着不安全密码,故对其重置,请您重新激活账号,对于给您造成的不便,敬请谅解!
论坛风格切换切换到宽版
  • 2339阅读
  • 0回复

[已解决]dedecms织梦5.7与discuz3.2整合双向登录退出方法(转载) [复制链接]

上一主题 下一主题
离线viqecel
 

发帖
41
贡献值
3
威望值
5
技术分
0
织梦币
0
只看楼主 倒序阅读 使用道具 0 发表于: 2016-03-12
织梦5.7-utf8 + DZX3.1-utf8 + UCenter1.6整合实现网站和论坛会员互通,并且双向同步登陆关键点:


1、实现通讯成功比较简单,UC服务端地址,IP等配置正确就一般都可以了。


2、实现会员登陆、注销双向同步
  
   通讯成功后还不能实现双向同步,必须进行以下操作
   1、进入Ucenter管理中心,应用管理,然后编辑任意一个应用。比如DZ,复制“通信密钥”,返回,粘贴到应用DEDE
      的通信密钥里面,保存
   2、打开DZ安装目录下的CONFIG目录中的config_ucenter_default.php,修改第22行
      define('UC_KEY', '把你刚才复制的通信密钥粘帖到这里'); 保存。
   3、打开DEDE目录中include/common.inc.php,找到底部的UC配置,同样修改通信密钥为刚才复制的密钥


   以上三步主要目的是保证DEDE,DZ使用相同的密钥,以实现同步通信。


   完成以上三步以后一般情况下都可以正常登陆了。但是我这里出了一个问题,会员从DEDE登陆后可以成功进入BBS,
   也能同步退出,但从BBS登陆就不能进入DEDE,只实现了单向。
  
   解决过程:
   网上找了一检测代码,此代码直接模拟登陆完成后登陆程序通知UC进行同步登陆的过程,正常情况下应输出一个到
   UC_Server的调用URL。
   <?php
    error_reporting('E_ALL');
    include_once "config/config_global.php";
    include_once "config/config_ucenter.php";
    include_once "uc_client/client.php";
    print_r($_COOKIE);
    echo '_AAA_<br/>';
    echo uc_user_synlogin(1);
   ?>
   复制保存为test.php到BBS根目录,浏览器访问,发现并没有输出。
   进入DZ的uc_client/client.php,找到uc_user_synlogin函数,
   函数内有一段代码
   if(@include UC_ROOT.'./data/cache/apps.php') {
if(count($_CACHE['apps']) > 1) {
$return = uc_api_post('user', 'synlogin', array('uid'=>$uid));
} else {
$return = '';
}
}
   发现count($_CACHE['apps']) > 1才会有输出,于是打开uc_client下的data/cache/apps.php,发现应用列表
   只有一个DZ,并没有DEDE,所以输出为空,当然DEDE就不能实现同步登陆。不知道这个缓存文件应该怎么更新。
   最后解决办法:
   复制uc_server/data/cache/apps.php 文件到 DZ的 uc_client/data/cache/apps.php
   至此,DZ与DEDE的会员双向同步登陆退出完美解决。
       转载地址http://www.ithao123.cn/content-6240911.html
=========================================


以上方案只解决了登录双向,但双向注册的同时,自动双向登录还没解决.而只是注册后,实现了双向注册,还要在各系统重新登录一次,才有效,.
稍后给出解决方案
请期待qq1133-8646
快速回复
限100 字节
做为一个新手,你需要了解:http://help.dedecms.com
 
上一个 下一个