您的位置 首页 php

Phpcms v9与DZ X2整合并实现双向同步登录退出方法

在phpcms v9模版制作常用代码收集之后,继续分享Phpcms建站的技巧,下面来具体讲解Phpcms v9与Discuz! X2整合并实现双向同步登录退出解决的方案方法,具体说明分享如下:

第一步:安装 Phpcms V9.0.8 Release 20110413 版 。全新安装 Discuz! X2 RC 版 20110505,带uc的综合版.

第二步:在 UCenter 中添加“phpsso 应用”。

第三步.修改dzx相关文件 。

……..

最重要的是清空浏览器cookie 并双方都更新缓存.。

首先把原理大致的描述一下,我们把phpsso作为uc的一个应用来处理。UCenter 作服务端;phpsso 与 Discuz! 分别作 UCenter 的客户端应用;phpsso 与 Discuz! 通过 UCenter 发生交互。phpcms 通过 phpsso 与 Discuz! 发生交互。

从 phpcms 注册后,同步注册到 UCenter (这个过程需要在后台开启uc,并且保证通信成功才行),这是因为 phpcms 实际上是与 UCenter 进行通信。用该帐号从 Discuz! 登录,实际上是从 UCenter 登录。而在 Discuz! 中,是没有这个帐号的,所以要把 UCenter 中的这个帐号信息注册到 Discuz! 中(即所谓的“激活”)。这是康盛创想设计的 UCenter 与 Discuz! 帐号转移机制,我们是无法改变的(除非把 Discuz! 从 UCenter 中分离!)反之,从 Discuz! 注册后,同步注册到 phpsso 。但 phpsso 同时注册到 phpcms ,所以就不需要“激活”了。

第一步:安装 Phpcms V9.0.8 Release 20110413 版 。全新安装 Discuz! X1.5 或全新安装 Discuz! X2 RC 版 20110505发布(同时安装 UCenter)。

第二步:在 UCenter 中添加“phpsso 应用”。

1、管理员登录 Discuz! X2 管理中心,进入“UCenter”,点击“应用管理”。

2、点击“添加新应用”按钮,选择安装方式为”自定义安装“。在展开的”添加新应用“参数配置表中,各项参数配置如下:

应用类型:其它

应用名称:phpsso

应用的主 URL:http://localhost/phpcms/phpsso_server (必填,最后不要带斜线)

应用 IP:(选填。)

通信密钥:(自动生成.并 把这个cookie复制下来.粘贴到phpsso中.否则 phpsso 将无法与 UCenter 正常通信。)

应用的物理路径:(选填,默认留空)

查看个人资料页面地址:(选填,URL中域名后面的部分,如:/space.php?uid=%s 这里的 %s 代表uid)

应用接口文件名称:(选填,默认为uc.php)

标签单条显示模板:(选填,默认留空)

标签模板标记说明:(选填,默认留空)

是否开启同步登录:是

是否接受通知:是(可选)

3、提交后,生成新的应用ID。(记住这个应用ID,在”第三步“中将用到它。)

第三步:配置 phpsso 。

1、管理员登录 phpcms V9 后台管理中心,进入“phpsso”,点击“系统设置”。

2、在“系统设置”下的“UCenter配置”一栏中,各项参数配置如下:

3、提交。 第四步:查看通信状态。 查看在 UCenter 中创建的 phpsso 应用与 UCenter 通信是否成功。 如果通信成功,则进行下一步。 如果通信失败,请检查“第二步”与“第三步”中的各项参数配置是否正确。 第五步:修改 Discuz! x2 会员登录相关。

第六步.清空浏览器cookie(可以用不常用的浏览器测试,比如你常用ie浏览器,则可以用火狐或谷歌浏览器测试.否则,清空cookie会影响日常使用.) 常见问题解答: 1、在phpsso的早期版本中, (Phpcms V9.0.8 Release 20110413 这个版本已不存在这个问题.请不用担心,下面的步骤也无需再做了. )整合 UCenter 后,Discuz! 注册会员在 phpcms 中为什么不显示昵称? 答:这是因为 Discuz! 只有“用户名”,没有“昵称”的概念。要解决这个问题,可以把 Discuz! 的“用户名”做为 phpcms 的“昵称”来使用。 打开 api/phpsso.php ,在第 41 行(代码为:$userinfo[‘password’] = isset($arr[‘password’]) ? $arr[‘password’] : exit(’0′);)的下面添加如下语句: $userinfo[‘nickname’] = isset($arr[‘username’]) ? $arr[‘username’] : exit(’0′); 这样修改以后,在 Discuz! 新注册的会员,在 phpcms 中就可以显示昵称了。 但修改以前的会员仍然是没有“昵称”的。这就需要在数据库中修改了:

 1、修改 template\default\member\login.htm 第36行,删除

ajaxpost(‘loginform_$loginhash’, ‘returnmessage_$loginhash’, ‘returnmessage_$loginhash’, ‘onerror’);return false; 

2、修改 template\default\member\login_s imple.htm 第 2 行,删除 
onsubmit=”return lsSubmit()” 

3、修改 /source/function/function_message .php 第 78 行,查找 
$param['header'] = true; 
替换为: 
$param['header'] = false; 
		
(如果你用的是dzx1.5 上面第3步,则应该修改 /source/function/function_core.php 第 1458 行,查找 
$param['header'] = true; 
替换为: 
$param['header'] = false;   

CMSYOU提示你:暂时告一段落了,返回列表更精彩,CMS模版定制专家!

文章来源:智云一二三科技

文章标题:Phpcms v9与DZ X2整合并实现双向同步登录退出方法

文章地址:https://www.zhihuclub.com/150730.shtml

关于作者: 智云科技

热门文章

评论已关闭

2条评论

  1. Pretty nice post. I simply stumbled upon your blog and wished to say that
    I’ve really enjoyed browsing your weblog posts. In any case I will be subscribing for your feed and I am hoping you write once more
    very soon!

  2. I have been browsing online more than 3 hours today, yet I
    never found any interesting article like yours. It’s pretty worth enough for me.
    In my opinion, if all website owners and bloggers made good content as you
    did, the web will be much more useful than ever before.

网站地图