码迷,mamicode.com
首页 > Web开发 > 详细

discuz Ucenter第三方双向同步登录

时间:2017-06-14 19:21:22      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:dmi   its   stp   一点   ucs   uid   pass   同步   mod   

今天按照官网的例子

把ucenter弄下来了,直接用官网的例子,用户注册登录的什么都好使。就是不不能同步登录。

 

研究了好久才发现  Ucenter_client的注册用户只增加在 pre_ucenter_members 表的的,所以你用ucenter的登录接口可以登录成功,但是 .$ucsynlogin  这个是返回空的,正常应该返回一串javascript来设置cookies,这样discuz也就自动同步登录的。

用接口注册的用户,你去discuz用户管理哪里是看不到的,这个时候新增一个同名的却发现用户已经存在了,提示激活即可。一点激活了,再看看  $ucsynlogin ,丫的这个时候才有代码返回了。。。

 

所以在第三方应用同步用户的页面

uc_client\model\user.php 的 add_user 函数 的return前增加以下这个激活用户的语句

//begin
$this->db->query("INSERT INTO `discuz_x2`.discuz_common_member SET uid=‘$uid‘, username=‘$username‘, password=‘$password‘, email=‘$email‘, adminid=‘0‘, groupid=‘10‘, regdate=‘".$this->base->time."‘, credits=‘0‘, timeoffset=‘9999‘");
$this->db->query("INSERT INTO `discuz_x2`.discuz_common_member_status SET uid=‘$uid‘, regip=‘$regip‘, lastip=‘$regip‘, lastvisit=‘".$this->base->time."‘, lastactivity=‘".$this->base->time."‘, lastpost=‘0‘, lastsendmail=‘0‘");
$this->db->query("INSERT INTO `discuz_x2`.discuz_common_member_profile SET uid=‘$uid‘");
$this->db->query("INSERT INTO `discuz_x2`.discuz_common_member_field_forum SET uid=‘$uid‘");
$this->db->query("INSERT INTO `discuz_x2`.discuz_common_member_field_home SET uid=‘$uid‘");
$this->db->query("INSERT INTO `discuz_x2`.discuz_common_member_count SET uid=‘$uid‘, extcredits1=‘0‘, extcredits2=‘0‘, extcredits3=‘0‘, extcredits4=‘0‘, extcredits5=‘0‘, extcredits6=‘0‘, extcredits7=‘0‘, extcredits8=‘0‘");
//end

  

discuz Ucenter第三方双向同步登录

标签:dmi   its   stp   一点   ucs   uid   pass   同步   mod   

原文地址:http://www.cnblogs.com/lmoonx/p/7010336.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!