首先,需要去官网下载一个ucenter的包。然后解压下来。

先把ucenter/ucenter这个文件夹复制到你的项目根目录下改名为uc_server;(这里只是我建议修改,以便于我下面写的配置);

然后将ucenter/advanced/uc_client复制粘贴到自己的项目上。

在你项目根目录创建一个api的文件夹、把ucenter/advanced/examples/api里头有个uc.php复制到你项目的api文件夹下。

其次同样,ucenter/advanced/examples把include文件夹复制到你项目根目录下。(这个呢,是连接数据库的一个类,放进去就可以了什么都不用改)

接下来在你网站根目录下创建一个config.inc.php文件。

<?php
define('UC_CONNECT', 'mysql');   // 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()// mysql 是直接连接的数据库, 为了效率, 建议采用 mysql//数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)
define('UC_DBHOST', 'localhost');            // UCenter 数据库主机
define('UC_DBUSER', 'root');                // UCenter 数据库用户名
define('UC_DBPW', 'root');                    // UCenter 数据库密码
define('UC_DBNAME', 'ucenter');                // UCenter 数据库名称
define('UC_DBCHARSET', 'utf-8');                // UCenter 数据库字符集
define('UC_DBTABLEPRE', 'ucenter.uc_');            // UCenter 数据库表前缀//通信相关
define('UC_KEY', 'yeN3g9EsNfiaYfodV63dI1j8Fbkssk5HaL7W4yaW4yj4Mf45mfg2v899g451k576');                // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
define('UC_API', 'http://zd1.t/ucenter/ucenter');    // UCenter 的 URL 地址, 在调用头像时依赖此常量
define('UC_CHARSET', 'utf-8');                // UCenter 的字符集
define('UC_IP', '');                    // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
define('UC_APPID', 1);                    // 当前应用的 ID
define('UC_PPP', '20');
//ucexample_2.php 用到的应用程序数据库连接参数
$dbhost = 'localhost';            // 数据库服务器
$dbuser = 'root';            // 数据库用户名
$dbpw = 'root';                // 数据库密码
$dbname = 'ucenter';            // 数据库名
$pconnect = 0;                // 数据库持久连接 0=关闭, 1=打开
$tablepre = 'example_';           // 表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = 'utf8';            // MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定//同步登录 Cookie 设置
$cookiedomain = '';             // cookie 作用域
$cookiepath = '/';            // cookie 作用路径

这里根据自己的数据库名称和数据库修改。

然后在你的api/uc.php目录下define('IN_DISCUZ', TRUE);的上面放入

define('UC_CONNECT', 'mysql');
define('UC_DBHOST', 'localhost');
define('UC_DBUSER', 'root');
define('UC_DBPW', 'root');
define('UC_DBNAME', 'ucenter');
define('UC_DBCHARSET', 'utf-8');
define('UC_DBTABLEPRE', '`ucenter`.uc_');
define('UC_DBCONNECT', '0');
define('UC_KEY', 'yeN3g9EsNfiaYfodV63dI1j8Fbkssk5HaL7W4yaW4yj4Mf45mfg2v899g451k576');   // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
define('UC_API', 'http://zd1.t/mvc/uc_server'); // UCenter 的 URL 地址, 在调用头像时依赖此常量
define('UC_CHARSET', 'utf-8');              // UCenter 的字符集
define('UC_IP', '127.0.0.1');               // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
define('UC_APPID', '1');                // 当前应用的 ID
define('UC_PPP', '20');

上面的配置根据自己的网站域名自己配置一下。

接下来登录进入你的ucenter,建议添加一个会员admin 不然没法做同步登录,没用户。

通信是很重要的,如果不通信的话,web1网站通信不到你的ucenter 那么你的web2网站也没有数据去给他同步登录。

这两个网站呢 就是我做同步登录的两个网站。 进入编辑

这么弄的话 通信就成功了。 那么通信成功后实现同步登录、同步退出

include_once "./config.inc.php";
include_once "./uc_client/client.php";
<pre>list($uid, $username, $password, $email) = uc_user_login($_POST['username'], $_POST['password']);
if($uid > 0) {echo '登录成功';echo uc_user_synlogin($uid);
} elseif($uid == -1) {echo '用户不存在,或者被删除';
} elseif($uid == -2) {echo '密码错';
} else {echo '未定义';
}
 

这里的uc_user_login在你的uc_client/client.php中 这个函数验证登录。验证成功的话返回相对应的值。 可以看看ucenter手册。地址http://www.phpddt.com/manual/ucenter/html/user.htm###

给你们贴个状态码图好了

它返回的一个数组,键值0是你登录用户的id 如果大于0的话就登录成功了。

同步退出的话手册里面也有 个人感觉手册很好阿 写的很详细 可以多看看。

二话不说 继续贴图

退出的话直接echo uc_user_synlogout();就完事了。

同步登陆函数:uc_user_synlogin; 同步退出函数:uc_user_synlogout;

他这两个函数呢 如果执行的话 他会执行一段js代码 你们可以去通信成功那块看一下 直接右键看源代码点地址就可以了。 如果要看具体一些的话,这我就不说了 网上一大推。

相当于他执行这个js代码  去告诉每个应用中的uc.php “我登录了我退出了”;然后uc接收到数据 就将这个数据发送给你的项目。 所以说每个应用你都得放一个uc.php去通信。对吧

到这块呢 基本已经能同步登录和退出了。 两个项目进行同步登录退出的话  按照我这个流程从头再来一遍就完事了。如果要深入理解的话 那就从网上找资料各种理解 各种去看代码吧  反正我是过来了  过程很难过 但是收获很多 ~

ucenter通信实现同步登录、同步退出(详细)相关推荐

  1. Thinkphp整合ucenter同步登录注册退出

    Thinkphp整合ucenter完全可以双向同步登陆.退出.删用户.自动激活DZX用户.发消失.推动态.改密码等的. ucente同步登陆演试,比如把下面的代码放到你网站的登陆控制器里 $uc = ...

  2. php 同步退出,Ucenter 的同步登录与同步退出

    Discuz论坛,包含了一个叫Ucenter的用户平台,通过这个平台,我们可以把Discuz论坛和Ucenter home.ecshop以及dedecms.帝国CMS等开源平台的用户统一起来,也可以自 ...

  3. discuz论坛整合ucenter免激活,同步登录,同步退出解决方案(附源码)

    UCenter作为整合用户的这样一个开源插件,对于PHP开发的,甚至其它开发语言如.net,java.asp等开发人员解决多个项目整合到一起,用户进行同步登录,同步退出等,同步消息等都是非常有用的.下 ...

  4. php同步登录,使用ucenter实现多站点同步登录的讲解

    做Web开发经常会要求实现多站点同步登录的情况,对于PHP开发来说,我们可以使用ucenter来实现多个站点同时登陆同时退出,用户同步的功能.下面我们一起看一下ucenter是如何实现同步登陆的. 首 ...

  5. dedecms v5.7 整合discuz x3.2 双向同步登录退出(2016年4月2号)

    一,先安装织梦与dz论坛,dz安装时,把uc也一起安装.安装好后,进论坛后台,ucenter中心,应用管理,就会看到id号为1的应用,并且通信成功 如果通信不成功.就点击id为1应用,点击 后面的编辑 ...

  6. dedecms v5.7 整合discuz x3.2 双向同步登录退出

    一,先安装织梦与dz论坛,dz安装时,把uc也一起安装.安装好后,进论坛后台,ucenter中心,应用管理,就会看到id号为1的应用,并且通信成功 如果通信不成功.就点击id为1应用,点击 后面的编辑 ...

  7. UCenter单点登录,同步登录,同步登出原理

    UCenter同步流程: 前提是需要在Ucenter上面添加好需要同步登录的应用(至少2个才能看到效果),并且显示:通信成功 假如我添加了A,B两个应用网站 1.首先当A站登录时,登录成功后,处理实质 ...

  8. php ucenter原理,深入挖掘Discuz Ucenter同步登录过程原理分析

    深入挖掘discuz ucenter同步登录过程原理分析,哈哈,其实纯属标题党,主要就是做了一个思路分析而已. Discuz是Ucenter的一个应用. Ucenter包含Server和Client, ...

  9. java 开源 文件同步_利用开源项目使discus论坛与java应用同步登录和注册

    最近做了一个资源库系统的项目,老师说可以搭建开源论坛替代自己开发社交模块(评论啊,反馈啊)来减轻负担,甚至提到了要给每个资源开一帖的功能..使我十分怀疑到底是减轻负担还是增加负担...不过怀疑归怀疑, ...

最新文章

  1. 什么是稀疏矩阵算法?
  2. 幼儿园带括号算式口诀_整理41组“数学顺口溜”+大九九乘法口诀表!给孩子们收藏...
  3. 天津理工大学 计算机网络综合实验,天津理工大学计算机网络 实验二
  4. Dubbo的Provider配置
  5. [JavaWeb-Bootstrap]Bootstrap快速入门
  6. arcgis加载dwg显示一个点_Arcgis添加控制点配准校正影像,更新校正之后,其他软件打开之后,影像位置没有校正解决办法...
  7. 诺基亚五摄手机终于发布了!拍摄能力无与伦比 售价699欧元
  8. java.lang.NoSuchMethodException: java.util.List.<init>() 问题解决
  9. iOS ViewController利用代理页面传值
  10. react-cnode实践笔记
  11. python+jpype+linux出现内存溢出问题解决方案
  12. C语言拯救者 番外篇 (Windows实用调试技巧)
  13. 【计算理论】非确定性有限自动机 ( NFA ) 转换成 确定性有限自动机 ( DFA )
  14. 地图坐标转换-火星坐标
  15. MFC用户名和密码的登录界面设计
  16. 绝对位置运动指令(MoveAbsJ)
  17. 区块链之旅(四)双花攻击、博弈论、Hash函数、数字签名
  18. bugku 0和1的故事 用Excel完成
  19. 知乎创始人周源:实时问答的知乎Live如何变现?
  20. 世界地球日 | 成功解锁首件烤仔时尚单品

热门文章

  1. 转载:Android Studio 快捷键
  2. chatgpt赋能Python-python_patsy
  3. java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar
  4. MVC学习七:Razor布局之加载分部视图【PartialView】
  5. RSA后台加密,前端解密
  6. 网站丨这四个网站好像有点好玩
  7. Lesson 4英语非谓语动词
  8. autocad2014点击保存闪退_AutoCAD2014闪退的具体原因和解决方法介绍
  9. PPI (手机屏幕的PPI 和计算方法)
  10. 移植ucos-III到stm32f103c8t6