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

首先,需要去官网下载一个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去通信。对吧

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

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
相比 UCenter Home 1.5 正式版,2.0 正式版拥有以下重要更新功能: 投票 新增投票基础应用。 除一般常用投票功能外,还具有悬赏投票、限制男女投票、评论限制、投票截止日期等功能选项; 活动 新增活动基础应用。 除一般常用活动功能外,还具有活动日历、活动海报和相册、支持默认模板的活动分类、活动审核、站长推荐活动、活动关联群组、报名格式模板、打印报名人员等功能选项; 热闹 新增热闹基本应用。 站长可以针对当前大家都关注的一个节日或者事件,创建一个热闹,引导会员发布信息,并将零散的信息进行引导性归类; 同时,对于已经发布的日志、图片或话题等,也可以通过点击“凑热闹”,重新选择参与热闹。 热闹创建的时候,可以设置热闹封面、允许参与的方式、允许参与的用户组等附属属性。 热点 新增防作弊的热点功能,可以有效挖掘站内精品内容,提升站点内容可读性,并增强信息互动; 热点贯穿于日志、图片、话题、投票、活动、分享等在内的各类站内基础应用。 站长可以自由调节首页显示热度数目、发表的时间范围,特定信息的热度等来控制站内的热点信息传播。 表态 新增的表态功能,让用户动动鼠标,就能参与互动,人与人的沟通变得更加快捷; 日志、图片、话题等基础应用中,全部引入表态功能。 站长可以对表态进行添加、删除,并可自定义动作名称、图片、顺序等。 道具 新增的道具功能,内置多达25个常用道具,包括涂鸦板、日志信纸、相册相框、个人主页红包卡、超级明星等; 道具将肩负现有系统的功能拓展,用户可以通过积分的消费,来获得更好的系统功能和个人展示体验; 道具可以让站点的积分获得、积分消费获得良好的平衡。 每个道具的价格、补给周期、补给数目、禁购用户组等属性,站长可以根据各自站点特点进行设定。 积分 积分体系进行全新改版,可以有效防止用户恶意获取积分,并增加动画提示,提高用户获得积分的成就感; 用户并可在后台查看自己的积分获得历史。 多达30项的积分规则,可以由站长调控,包括积分的奖励周期、奖励次数、是否去重奖励等。 用户组 新增经验值,将用户组的升级评定由原来的积分调整为经验值,避免用户消费积分导致用户组权限降低的情况; 用户组权限进行细分,增加包括禁止访问、购买道具折扣、不受防灌水限制、不受视频认证限制、允许玩应用、升级奖励道具、允许批量删信息等在内的各类新权限; 同时,用户被调整到特别用户组的时候,可以设置用户身份有效期。 提醒 由原来的单一通知,升级到全面站内提醒。 包括新招呼、好友申请、群组邀请、活动邀请、应用通知等; 并且每个页面都及时提醒,可以让用户之间的互动更加方便和及时。 动态 站长可以设置自动折叠的动态类型,来调节各类动态显示的权重; 站内动态与应用动态分开展示,增加站内交流比重; 常见动态支持快速评论,可以更好进行信息互动; 引入热度评估值,并增加“热门推荐”动态页,站内精华动态一目了然。 群组 每个群组都增加话题数、回帖数统计,热门群组排行更加科学; 用户创建新群组的流程变得一目了然; 站长可以将现有群组进行分类转移; 群主权限继续下放,可以对群内话题进行编辑、删除; 群主可以设置不是会员也可以发起话题,或者回帖; 增加群组推荐功能,站长可以将特定群组进行推荐。 视频认证 新增视频认证功能,让好友之间由虚变实。 借助统一的视频认证审核平台,对于有能力审核的站长,可以自己审核,无能力审核的站长,有平台统一审核; 视频认证照片本地化存储,站长可以根据站点规划,决定是否开启视频认证、非认证用户有何限制等各项属性; 同时,通过视频认证的用户自己本人也可在隐私设置中,自行决定视频认证的各项隐私权限。 随便看看和游客首页 随便看看全新改版,借助“热点”机制,随便看看将站内精华进行集中展示,可读性大大加强; 游客首页支持开放式和封闭式两种模式,并在开放模式下,与随便看看有机统一; 同时,站长可以对日志、图片、话题、活动、投票等显示条件、排序、缓存等各项属性进行调控。 个人资料和个人主页 全面增强的个人资料,包括基本资料、联系方式、教育情况、工作情况、个人兴趣爱好等; 所有个人资料项目,均支持隐私设置。 个人主页增加个人菜单,用户发表的记录、日志、相册等信息均由数目展示; 个人主页查看其发布的日志、日志、图片等信息的时候,直接在当前页面和风格下进行展示。 趋势统计 趋势统计功能将为站长运营站点提供真实的数据基础。 包括,每天来访用户、发布信息数、信息互动数、用户互动数等指标每日都进行统计,并以曲线图进行展示; 趋势统计使站长可以更加科学的把握站点的发展趋势,并根据曲线变化,及时调整站点的运营策略。 性能 用户应用分表,减少应用更新玩家个人主页显示模块内容带来的负载压力; 通知数缓存入库,降低常用页面的SQL查询数; 单应用模式下UC多余通信操作屏蔽; 根据大数据情况下的反馈,进行表索引优化; 更改部分表的定长与非定长属性,在数据库存储和效能之间调节平衡。 更多 防灌水中增加验证激活邮箱唯一性; 新更改邮箱,需要激活后才生效; 相册列表查看中增加按好友查看相册、热图推荐、我表态过的图片等功能; 日志列表中增加按好友查看日志、推荐阅读、我表态过的日志等功能; 个人动态更新输入框更加明显和易用,更新状态更加方便; 查找好友进行多项分类,用户可以选择查找同事、查找老乡等进行搜索; 好友热度可以自行调节; 默认打招呼内容可以预先设置; 有奖任务继续增强,优化重复执行周期,支持整天、整点执行; 同一IP注册多个用户限制; 同一邮箱注册多个用户限制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值