第一次使用UCenter的一些情况

DATE: 2015-02-05 / VIEWS: 1094

这两天在做公司官网和discuz论坛同步登录,把其中遇到的一些问题记录一下。

官网用得是Thinkphp开发,从TP官网下载了其他用户分享的代码,下载地址:http://www.thinkphp.cn/topic/92.html。

本地调试基本没有问题,上线后遇到两个问题:

一是官网与Ucenter通信失败,是因为官网做了301跳转;

二是在官网登录的时候,会提示“can not connect to mysql server”,修改config里UC_CONNECT为空即可;

解决掉这两个问题,基本上官网能同步登录discuz了,但是要想用户首次就能直接同步登录到论坛,还得做以下两步。

当我在论坛配置里面开启直接激活后,只是用户第一次登录论坛不提示激活界面了,但是,用户数据并没有写进论坛用户表中,下面的代码就是当官网用户数据注册到ucenter的时候,把用户数据同步写入论坛用户表中。

1. /uc_server/model/user.php 第137行($this->db->query("INSERT INTO ".UC_DBTABLEPRE."memberfields SET uid='$uid'");)后加:

//同步写入论坛用户表
$this->db->query("INSERT INTO `db`.pre_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 `db`.pre_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 `db`.pre_common_member_profile SET uid='$uid'");
$this->db->query("INSERT INTO `db`.pre_common_member_field_forum SET uid='$uid'");
$this->db->query("INSERT INTO `db`.pre_common_member_field_home SET uid='$uid'");
$this->db->query("INSERT INTO `db`.pre_common_member_count SET uid='$uid', extcredits1='0', extcredits2='0', extcredits3='0', extcredits4='0', extcredits5='0', extcredits6='0', extcredits7='0', extcredits8='0'");
2.在后台站长 》 UCenter 设置里 选择允许直接激活: