uc同步登陆同步退出
几乎每个应用在整合UC的时候都会遇到无法同步登陆同步退出的情况,今天分析下原因
首先我们的项目会将uc_client这个文件夹原封不动的拷贝到项目根目录,
public function inteLogin($loginname,$password) {
$this->_initUC();
if (true === $this->uc_Integration) {
if (true === XValid::isEmail($loginname)) {
$logintype = 2;
}
else {
$logintype = 0;
}
if (UC_CHARSET != OESOFT_CHARSET) {
$uc_loginname = XHandle::utfToGbk($loginname);
}
else {
$uc_loginname = $loginname;
}
$this->ucinfo = uc_user_login($uc_loginname,$password,$logintype,0);
if ($this->ucinfo[0] >0) {
//同步登陆
//print_r($this->ucinfo);
echo uc_user_synlogin($this->ucinfo[0]);
//如下是登陆本系统的逻辑
$this->_loginUcToLove($password);
}
}
}
我只截取了一段代码,代码是先调用client.php的uc_user_login方法,然后判断返回的uid是否存在,存在的话就echo uc_user_synlogin($this->ucinfo[0]);这样就实现了同步登陆。但是你也许会遇到一个问题,就是还是无法同步登陆,我们看代码
function uc_user_synlogin($uid) {
$uid = intval($uid);
if(@include UC_ROOT.'./data/cache/apps.php') {
if(count($_CACHE['apps']) > 1) {
$return = uc_api_post('user', 'synlogin', array('uid'=>$uid));
} else {
$return = '';
}
}
return $return;
}
发现count($_CACHE['apps']) > 1,也就是在apps.php中的apps数组必须大于1才会调佣,否则不调用,这里我们需要注意的是你的应用里面如果是在建立之前拷贝的uc_client代码,则这个不会大于1,没关系,我们拷贝过去就行了。apps.php
同步退出也是同理的,因为他这个是发送js实现同步退出,因此
public function inteLogout() {
$this->_initUC();
if (true === $this->uc_Integration) {
echo uc_user_synlogout();
}
}
也要记得上面是echo,而不是Return
我们在做应用开发的时候,包含了两个文件,一个当然是配置文件了,不管你是在后台填写的还是直接写到文件中的,包含进来就行了,然后就是client.php,client.php是处理程式。
本文档的代码引用的action.passport.php以及model.uc.php中的代码如需完整的,打开他们来看下就知道了
uc同步登陆同步退出相关推荐
- uc显示无服务器连接,ucenter安装心得和通信失败,同步登陆失败采坑以及解决方法...
不墨迹,直接说重点:(配置了uc的网站不要再去采集了,否则uid不一致,新用户永远无法同步登录了) 下载系统后留意文件夹里是否带了uc的源码 api是接口文件夹,uc_client是uc的客户端文件, ...
- Thinkphp整合ucenter同步登录注册退出
Thinkphp整合ucenter完全可以双向同步登陆.退出.删用户.自动激活DZX用户.发消失.推动态.改密码等的. ucente同步登陆演试,比如把下面的代码放到你网站的登陆控制器里 $uc = ...
- 多DZ和UC同步登陆状态(支持HTTPS,PHP7.4.3)
前端时间一个QQ上找到我的朋友求助在HTTPS下实现用户在多个DZ同步退出登陆状态,我摸索了一下 整理出了修改方法. 2020年3月16日更新: 本文发布一年了,最近有朋友反应使用最新版的DZ(Dis ...
- TP+UC+DZ同步登陆问题汇总
TP为主站,用户在此注册,注册信息主要是用户名和密码,原样传至UC即可,UC会自动加密,加密算法为md5(md5($passwd).$salt); 登陆时,倘若UC查到用户信息且信息正确,会返回一个$ ...
- php同步登陆方案,ucenter同步登陆机制_PHP教程
做php开发的朋友大都知道有个ucenter可以用来实现多个站点同时登陆同时退出,用户同步的功能.下面作者将要就ucenter是如何实现同步登陆的和大家做一下分享. 首先站点都要引入一个uc_clie ...
- UCenter实现同步登陆原理
UCenter实现同步登陆原理 1.用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验 ...
- 本地会员与新浪微博api绑定和同步登陆
说明:此设计仅为我个人简单的制作.没有考虑安全因素.bug.效率等.仅限于学习本地会员同步新浪微博登陆. 附:伸手党可到csdn资源下载源码.包含源码文件.数据库文件以及使用方法 csdn资源下载网址 ...
- uc_client 同步登陆
uc_client 同步登陆 uc_user_synlogout() 该函数 生成了一段js 页面执行时起效果 若直接跳转则不能实现同步登陆
- php同步登陆方案,网站与phpwind论坛的同步登陆的解决方案
1.先开通 phpwind 的通行证 2.在通行证设定的访问入口的后台程序里添加如下代码: //pw = phpwind 的安装前缀 //判断pw中是否有该会员数据 $SQL = "sele ...
最新文章
- 理解与使用Javascript中的回调函数
- linux问答学知识
- 如何写出一份惊艳BAT的简历?
- 权限框架 - shiro 简单入门实例
- SAP Fiori INTEROP tile cache
- linux find查找文件然后删除,linu查找find命令及删除7天前的文件
- [解决]电信彩信网关开发错误-SOAP_VERSIONMISMATCH
- 区域卫生数据用于临床疗效分析的可用性研究
- 前端基础-html-表格的标题和表头单元格标签
- 学java需要学c语言吗?
- Ubuntu中使用dnw工具:没有找到/dev/secbulk0
- Dell T630,插一个显示器,设置中看到两个显示器
- 屏幕录制 gif android,分享 Android 手机屏幕录制并制玉成 GIF 演示图片
- 共享软件业余者VS共享软件专业者
- 分布式 | BenchmarkSQL 压测 dble 性能调优指南
- LZW压缩(解压缩)算法详解及源码
- python(六)动态网页爬虫
- 【详细教程】App inventor连接阿里云平台(APP显示STM32发来的温湿度数据等)
- 虚拟机怎么安装geany_75 个最常用的 Linux 应用程序(2018 年)
- 11个经典物联网应用电路方案优选合辑