帝国CMS6.6 整合Ucenter接口的图文教程

用帝国CMS6.6整合安装Discuz!7.2。为了便于以后的升级扩展。决定整合ucenter1.5

帝国CMS整合Discuz有两种方式: 方式一、用Ucenter接口整合。使用Ucenter接口整合无需安装通行证跟万能会员接口。
方式二、用Discuz通行证接口整合。需先安装万能会员接口,然后再安装通行证。

整合原理:
UCenter 作服务端;phpsso 与 Discuz! 分别作 UCenter 的客户端应用;phpsso
与 Discuz! 通过 UCenter 发生交互。
phpcms 通过 phpsso 与 Discuz! 发生交互。

首先安装
Discuz_7.2_FULL_SC_GBK也就是已经包含ucenter1.5的Discuz7.2版本。上传到空间执行安装完成便已整合安装好
Discuz+ucenter了。这时候接着安装帝国CMS6.6。

Ucenter接口及Discuz通行证下载地址:

第一步:安装 phpcms V9 。安装 Discuz! X2 (同时安装 UCenter)。

然后登录ucenter管理中心添加应用。

今天我为大家讲解Ucenter接口整合步骤:
第 1 步:上传整合接口
将接口包的“upload”目录里的文件夹及文件上传至帝国CMS的“e”目录里(注意是上传
upload 目录中的文件和目录,而不是上传 upload 目录本身)。 
澳门新葡亰娱乐官网 1

第二步:在 UCenter 中添加“phpsso 应用”。
1、管理员登录 Discuz! X2 管理中心,进入“UCenter”,点击“应用管理”。
2、点击“添加新应用”按钮,选择安装方式为”自定义安装“。在展开的”添加新应用“参数配置表中,各项参数配置如下:

点击添加新应用进入添加应用页面:

复制到帝国CMS的“e”目录里:
澳门新葡亰娱乐官网 2

    应用名称:phpsso
    应用的主 URL:http://localhost/phpcms/phpsso_server   (必填,
phpcms 安装路径,视实际情况而定,最后不要带斜线)
    应用 IP:(选填,正常情况下留空即可。如果由于域名解析问题导致
UCenter 与该应用通信失败,请尝试设置为该应用所在服务器的 IP 地址。)
    通信密钥:(必填,phpcms 的通信密钥必须与此设置保持一致,否则 phpsso
将无法与 UCenter 正常通信。)
    应用类型:其它(必选)
    应用的物理路径:(选填,默认留空)
   
查看个人资料页面地址:(选填,URL中域名后面的部分,如:/space.php?uid=%s
这里的 %s 代表uid)
    应用接口文件名称:(选填,默认为uc.php)
    标签单条显示模板:(选填,默认留空)
澳门新葡亰娱乐官网,    标签模板标记说明:(选填,默认留空)
    是否开启同步登录:是(可选,开启同步登录后,当用户在登录 Discuz!
时,同时也会登录 phpcms 。)
    是否接受通知:否(可选)

安装方式:选择自定义安装。接口URL:
填帝国CMS的e目录地址,如:域名/e。通信密钥:
任意的字符,由英文字母及数字组成。尽量长点。应用类型:
选择其他。是否开启同步登录: 选择是。是否接受通知: 选择是。

第 2 步:在Ucenter后台增加帝国CMS应用
登陆Ucenter后台 > 点击“应用管理” > 点击“添加新应用”:
澳门新葡亰娱乐官网 3

3、提交后,将生成新的应用ID。(记住这个应用ID,在”第三步“中将用到它。)
4、进入后台“站长”,“UCenter
设置”选项。”是否允许直接激活”一项,选择“是”。

设置参数后点击提交,然后返回应用列表就可以看到我们刚才增加的应用:

点击添加新应用进入添加应用页面:
澳门新葡亰娱乐官网 4

本帖隐藏的内容

第三步:配置 phpsso 。
1、管理员登录 phpcms V9 后台管理中心,进入“phpsso”,点击“系统设置”。
2、在“系统设置”下的“UCenter配置”一栏中,各项参数配置如下:
   
是否启用:是
    Ucenter api 地址:http://localhost/discuz/uc_server 
   (必填,蓝色字体部分为 Discuz!
安装路径,视实际情况而定,最后不要带斜线)
    Ucenter api IP:(选填,一般不用填写,遇到无法同步时,请填写 UCenter
主机的IP地址)
    Ucenter 数据库主机名:localhost     (必填,视实际情况而定)
    Ucenter 数据库用户名:root     (必填,视实际情况而定)
    Ucenter 数据库密码:root    (视实际情况而定)
    Ucenter 数据库名:discuz     (必填,视实际情况而定)
    Ucenter 数据库表前缀:dz_ucenter_ 
   (必填,视实际情况而定。如果此项填写错误,将导致 phpcms
无法注册新会员!)
    Ucenter 数据库字符集:UTF-8      (必选,视实际情况而定)
    应用id(APP ID):(必填,该值来在“第二步”中 UCenter 创建的 phpsso
应用时自动。)
    Ucenter 通信密钥:(必填,一定确保该值与在“第二步”中 UCenter 创建的
phpsso 应用密钥相同。)

3、提交。

第四步:查看通信状态。
查看在 UCenter 中创建的 phpsso 应用与 UCenter 通信是否成功。
如果通信成功,则进行下一步。
如果通信失败,请检查“第二步”与“第三步”中的各项参数配置是否正确。

第五步:备份 ./phpsso 。将 Discuz! X2 的 uc_client 复制到
phpsso_server/api/ 下,覆盖原来的 uc_client 。

第六步:修改 Discuz! 会员登录相关
1、修改 templatedefaultmemberlogin.htm 第 36 行,删除
onsubmit=”{if
$this->setting[‘pwdsafety’]}pwmd5(‘password3_$loginhash’);{/if}pwdclear
= 1;ajaxpost(‘loginform_$loginhash’, ‘returnmessage_$loginhash’,
‘returnmessage_$loginhash’, ‘onerror’);return false;”

2、修改 templatedefaultmemberlogin_s imple.htm 第 3 行,删除
onsubmit=”return lsSubmit()”
3、修改 /source/function/function_message.php 第 78 行,查找
$param[‘header’] = true;
替换为:
$param[‘header’] = false;

常见问题解答:
1、整合完成后,在 phpcms 注册、登录均“失败”怎么办?
答:这可能是由于无法连接到 UCenter 的原因。可以尝试修改文件
        phpsso_server/api/uc_client/model/base.php
        将第 74 行的 $this->db->connect(UC_DBHOST, UC_DBUSER,
UC_DBPW, ”, UC_DBCHARSET, UC_DBCONNECT, UC_DBTABLEPRE);
复制代码替换为: $this->db->connect(UC_DBHOST, UC_DBUSER,
UC_DBPW, UC_DBNAME, UC_DBCHARSET, UC_DBCONNECT, UC_DBTABLEPRE);
复制代码2、为什么不使用官方自带的 UCenter 客户端?
答:官方自带的 UCenter 客户端版本为 1.5.1 Release 20100501 ,而 Discuz!
X2 使用的版本为 1.6.0 。版本不一致,无法整合成功。
3、整合成功后,能达到怎样的效果?
答:实现 phpcms 与 Discuz! 会员的双向同步注册、登录、退出等。
4、第一次在 phpcms 注册的会员必须在 Discuz!
登录一次,下次才会同步登录。这正常吗?
答:正常。因为 phpsso 作为 UCenter 的第三方应用,是需要在 Discuz!
登录激活的。
如果您嫌在 Discuz!
激活麻烦,可以与我联系,我们将提供商业服务,帮您解决这个问题。
5、会员在 phpcms 登录后,没有同步登录到 Discuz! 怎么办?
答:这很可能是由于 phpsso
的“UCenter配置”有误引起的,请仔细检查各项参数设置。
6、会员在 Discuz! 登录后,没有同步登录到 phpcms 怎么办?
答:这很可能是由于 UCenter 的 phpsso
应用配置有误引起的,请仔细检查各项参数设置。


将下载的Ucenter接口文件。upload目录里的文件夹及文件上传至帝国CMS的e目录里。上传时会复盖几个文件,让它复盖便可。

安装方式:选择自定义安装。
接口URL: 填帝国CMS的“e”目录地址,如:“
通信密钥: 任意的字符,由英文字母及数字组成。尽量长点。
应用类型: 选择其他。
是否开启同步登录: 选择是。
是否接受通知: 选择是。

修改帝国CMS目录下的e/config.inc.php文件配置:

设置参数后点击提交,然后返回应用列表就可以看到我们刚才增加的应用:
澳门新葡亰娱乐官网 5

连接UCenter的方式UC_CONNECT:默认为mysql,一般不用修改。如果设置mysql链接方式,Ucenter的数据库帐号必须有权限操作帝国CMS的数据库。

UCenter数据库参数配置(如果不清楚
可对比ucenter的配置文件)UC_DBHOST: UCenter 数据库主机UC_DBUSER:
UCenter 数据库用户名UC_DBPW: UCenter 数据库密码UC_DBNAME: UCenter
数据库名称UC_DBCHARSET: UCenter
数据库字符集,默认即可UC_DBTABLEPRE: UCenter
数据库表前缀(格式:数据库.前缀,如:database.uc_),一定要记得加数据库

UCenter通信相关参数(要同Ucenter增加的帝国CMS应用设置项保持一致。)UC_KEY:
通信密钥,打开ucenter 把帝国CMS应用里的通信密钥和此密钥统一。UC_API:
设置Ucenter的安装地址,如:_CHARSET: UCenter
的字符集,默认即可UC_IP: UCenter 的 IP,默认即可UC_APPID:
当前应用的ID,打开ucenter 看应用管理中帝国CMS接口前的id数字。

同步登录Cookie设置一般不用设置,默认即可

第 3 步:配置Ucenter整合接口的配置参数文件e/config.inc.php
修改帝国CMS目录下的e/config.inc.php文件配置:(UTF-8版要用dreamweaver或editplus修改,用记事本会将文件转为gbk) 
澳门新葡亰娱乐官网 6

配置好Ucenter配置文件后,Ucenter的应用列表就会显示通信成功:

连接UCenter的方式

如果原帝国CMS有会员数据,则可以按下面步骤将会员导入Ucenter:

UC_CONNECT:默认为mysql,一般不用修改。如果设置mysql链接方式,Ucenter的数据库帐号必须有权限操作帝国CMS的数据库。

第 4 步:将帝国CMS会员导入Ucenter
说明:
(1)、如果你的帝国CMS使用了万能会员接口整合了其他程序,即整合其它会员系统,可跳过此步骤。(2)、如果本身没有会员数据也可跳过此步骤。

导入步骤:(1)、将接口包的tool目录里的update文件夹复制到帝国CMS的e目录里;(2)、运行e/update/index.php文件,进行会员数据导入操作;(3)、导入完毕后,将e/update目录里的文件删除。

第 5
步:清空帝国CMS会员表(phome_enewsmember)数据,以免同Ucenter数据冲突
如果本身没有会员数据可跳过此步骤。

登陆帝国CMS后台 系统设置 执行SQL语句,运行下面SQL:TRUNCATE
`[!db.pre!]enewsmember`;TRUNCATE `[!db.pre!]enewsmemberadd`;

UCenter数据库参数配置(如果不清楚 可对比ucenter的配置文件)
UC_DBHOST: UCenter 数据库主机
UC_DBUSER: UCenter 数据库用户名
UC_DBPW: UCenter 数据库密码
UC_DBNAME: UCenter 数据库名称
UC_DBCHARSET: UCenter 数据库字符集,默认即可
UC_DBTABLEPRE: UCenter
数据库表前缀(格式:数据库.前缀,如:database.uc_),一定要记得加数据库

至此,Ucenter接口整合完毕。

UCenter通信相关参数(要同Ucenter增加的帝国CMS应用设置项保持一致。)
UC_KEY: 通信密钥,打开ucenter
把帝国CMS应用里的通信密钥和此密钥统一。
UC_API: 设置Ucenter的安装地址,如:
UC_CHARSET: UCenter 的字符集,默认即可
UC_IP: UCenter 的 IP,默认即可
UC_APPID: 当前应用的ID,打开ucenter
看应用管理中帝国CMS接口前的id数字。

其他说明:1、如果网站会员不是在帝国系统注册并且没有在帝国登陆过,那么需要登陆一次帝国,以激活帐号,以后则是同步登陆。2、如果以前整合过DISCUZ通行证,那么需要还原DISCUZ的logging.php与register.php为原版文件。

同步登录Cookie设置
一般不用设置,默认即可。

特别注意:

澳门新葡亰娱乐官网 7

如果这时发现只能单向同步,而无法双向同步时,比如,从论坛注册登录,帝国CMS无反应。从帝国CMS注册登录,论坛可以正常同步。请看下面。

配置好Ucenter配置文件后,Ucenter的应用列表就会显示通信成功:
澳门新葡亰娱乐官网 8

出现此问题,请认真查看配置,IP给填上。

如果原帝国CMS有会员数据,则可以按下面步骤将会员导入Ucenter:

如果觉得配置应该都没问题了。那么有没有清除缓存呢?
ucenter中清除缓存,DZ后台清除缓存,帝国CMS也清除缓存。也许你就会发现。问题解决他。

第 4 步:将帝国CMS会员导入Ucenter 说明: (1)、如果你的帝国CMS使用了万能会员接口整合了其他程序,即整合其它会员系统,可跳过此步骤。
(2)、如果本身没有会员数据也可跳过此步骤。

导入步骤: 
(1)、将接口包的“tool”目录里的update文件夹复制到帝国CMS的“e”目录里; 
(2)、运行e/update/index.php文件,进行会员数据导入操作; 
(3)、导入完毕后,将e/update目录里的文件删除。 

第 5
步:清空帝国CMS会员表(phome_enewsmember)数据,以免同Ucenter数据冲突

如果本身没有会员数据可跳过此步骤。

登陆帝国CMS后台 > “系统设置” > “执行SQL语句”,运行下面SQL: 
TRUNCATE `[!db.pre!]enewsmember`;
TRUNCATE `[!db.pre!]enewsmemberadd`;

至此,Ucenter接口整合完毕。

其他说明: 1、如果网站会员不是在帝国系统注册并且没有在帝国登陆过,那么需要登陆一次帝国,以激活帐号,以后则是同步登陆。
2、如果以前整合过DISCUZ通行证,那么需要还原DISCUZ的logging.php与register.php为原版文件。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图