Discuz论坛,包含了一个叫Ucenter的用户平台,通过这个平台,我们可以把Discuz论坛和Ucenter home、ecshop以及dedecms、帝国CMS等开源平台的用户统一起来,也可以自己开发基于Ucenter的系统,保持用户与Discuz论坛的统一。

一、官方手册附件中是Ucenter的接口开发手册,其中,developguide文件夹下是手册的HTML文件,可以直接双击打开阅读,client文件夹中是提供调用的库文件,要把它复制到每个应用的文件夹中。examples里面,则是一个实例项目,如果时间充裕,建议安装这个项目进行阅读和调试。

二、Ucenter服务器设置

1、用管理员账户进入管理中心,点击右侧的Ucenter链接

2、输入Ucenter的管理员密码,确认后单击左侧的应用管理,添加新应用,选择自定义安装,以下是我填写的自定义内容,可以参考以一下:

填写完毕返回应用列表后,你会发现,原来正常安装的应用显示的都是“通信成功”,只有自定义的那个,显示的是“通信失败”。

三、API

1、在应用根目录下新建一个api目录(以我填写的应用图为例,应该是'/home/public/api',每个人的实际目录自然各不相同)。

先做个小实验:新建一个uc.php文件,里面只输入如下内容:

echo '1';

?>

然后,回到管理中心的应用管理列表,你会发现,已经显示通信成功了。

2、当然,目前这个uc.php实际上是没有用处的。所以我们要从examples/api中复制uc.php到api目录下。uc.php的作用是为 ucenter提供一个接口,这样,当用户在discuz论坛或是其它应用比如ecshop中登录或退出时,我们自定义的应用也能够同步登陆和退出。

3、复制过来的uc.php还需要修改才能重新使用,它include了config.inc.php和mysql.class.php两个文件。mysql.class.php无需任何修改,而config.inc.php,实例中已经有了详细的注释。阅读一下 uc.php的源码,注意这两个文件的路径确保其被正确引用,这时还是回到管理中心的应用管理列表,确定应用仍然是“通信成功”的。

4、修改uc.php中的uc_note类中的synlogin方法和synlogout方法,根据你自己的需要写入登录和退出代码。这样,当用户在Discuz论坛中登录或退出时, 我们的应用就能同步登录和退出了。比如,您可以在我的论坛http://bbs.zj.com,博客http://ublog.zj.com和俱乐部http://www.blog1.zj.com 之间进行测试。

四、应用本身的同步登录和同步退出当然,除了通过discuz论坛来控制应用的登录退出之外,我们也会希望,通过应用本身也能实现的同步登录和同步退出。

1、在登录和退出的源码中,必须正确包含config.inc.php和client.php文件;

2、在client.php中,我们用到了两个函数用于登录,第一个函数是

uc_user_login($username,$password)

用于用户登录,登录后返回一个数组,如果登录失败,返回数组的第一个元素值为 -1($array[0]==-1),如果登录成功,返回的数组为

$array(0=>uid的值,1=>username,2=>password的md5值......);

也就是说,当返回数组的第一个元素大于0时,我们可以继续登录操作,小于0时则报错;

3、第二个函数时uc_user_synlogin($uid),运行上一个函数成功后,可以直接运行这个函数来登录其它应用,注意用法是这样的:

echo uc_user_synlogin($uid);

?>

测试这个代码你会发现,实际上它输出的是一段script代码,事实上仍然是通过客户端分别登录不同应用的,只不过用户看不到而已。

4、同步退出的函数则是

echo uc_user_synlogout();

?>

直接输出这个函数返回的script代码,就能够实现ucenter的同步退出。

php 同步退出,Ucenter 的同步登录与同步退出相关推荐

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

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

  2. ucenter通信实现同步登录、同步退出(详细)

    首先,需要去官网下载一个ucenter的包.然后解压下来. 先把ucenter/ucenter这个文件夹复制到你的项目根目录下改名为uc_server;(这里只是我建议修改,以便于我下面写的配置); ...

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

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

  4. mysql自动同步数据_MySQL数据库实现双向自动同步

    [IT168 技术]本文将探讨如何通过MySQL数据库的高级特性,实现数据库的双向自动同步,确保数据的冗余与完整性.通过以往真实的项目实战与经验,把操作实施过程全部记录下来,主要有以下几个主要内容. ...

  5. mysql主从同步linux,linux中部署mysql主从同步示例详解(绝对经典,看了必会)

    准备两台服务器并安装MySQL5.7 master服务器 192.168.254.132 slave服务器 192.168.254.136 确保两台服务器安装的mysql版本一致,本测试使用的是mys ...

  6. 印象笔记mac版 同步问题_Typora和印象笔记的完美同步及备份

    最近折腾了好几款Markdown编辑器来写一些东西,发现都不怎么好用,也看了大咖们推荐的文章,最后折腾到Typora,就停下来了. 写公众号来自网络推荐的Markdown编辑器MarkdownPAD2 ...

  7. 天翼云盘目录索引php,如何设置天翼云盘同步目录与文件?天翼云盘同步目录与文件的方法...

    如何设置天翼云盘同步目录与文件?有的用户还不是很熟悉,下文就是小编给大家分享天翼云盘同步目录与文件的方法,希望对你们有所帮助哦. 1.用户在首次登陆天翼云PC客户端时,客户端会为用户弹出文件同步设置窗 ...

  8. 数据库实时同步到另一个数据库-数据库实时同步到另一个数据库文档

      SyncNavigator v8.6.2 安装激活方法[Win10系统] 2020-06-10syncnavigator阅读(463) win10系统加强了权限管理,所以直接运行程序会无法有效! ...

  9. 什么NAS能实现多平台同步?AirDisk-Q3X/Q2/Q3S微力同步告诉你怎么实现

    AirDisk-Q3X/Q2/Q3S微力同步PC文件同步使用说明 电脑端 电脑运行微力同步软件,微力同步官方下载地址:http://www.verysync.com/ 根据自己系统选择下载. 电脑端双 ...

最新文章

  1. github关联域名,创建个人网站教程终结篇
  2. 刷OJ时输入输出与字符串
  3. 机器学习算法Python实现:kmeans文本聚类
  4. Hbase总结(三)-Hbase与Hive的区别与联系
  5. OpenCV之cvSmooth函数平滑滤波
  6. 用Visual Studio 2019连接 WSL来编译调试C/C++项目
  7. 和氟西汀类似的备注_撒狗粮:可爱又霸气的给男朋友的微信备注
  8. 众友科技计算机组成原理,组成原理:采用微程序控制器的模型机CPU设计(10页)-原创力文档...
  9. 你最隐秘的性格在哪?
  10. ip 十进制 整型 java_IP地址转换成10进制整数(zt)
  11. 3-8 译码器设计实验--VHDL
  12. datastage 作业查找脚本
  13. 架构整洁之道 pdf_代码有整洁之道,而架构同样有整洁之道
  14. [Oracle] 日期处理
  15. MySql5.7 直接拷贝数据文件后出现table xxx doesn’t exist
  16. Android学习笔记-隐藏app图标
  17. js获取传统节假日_js判断节假日实例代码
  18. nacos运行报jar的错Failed to get nested archive for entry BOOT-INF/lib/XXX.jar
  19. 睡眠有助于巩固复杂问题解决技能的记忆痕迹
  20. 扫地机器人作文说明文提纲_扫地机器人说明文600字

热门文章

  1. Mifare l卡特性简介
  2. 将SWF、FLV插入PowerPoint
  3. BZOJ.1029.[JSOI2007]建筑抢修(贪心)
  4. 圆周卷积(circular convolution)
  5. java使用内部类的好处及其初始化
  6. SQL2005迁移账户密码粗鲁设置
  7. 获得系统异常的详细信息
  8. 【python】 类、对象的练习题
  9. 软件测试系统学习流程和常见面试题
  10. mysql 前端proxy_【4.分布式存储】-mysql及proxy