ecshop整合discuz教程完美教程

所需软件

ecshop安装包:    ECShop_V2.7.3_UTF8_release1106.rar
ucenter安装包:   UCenter_1.6.0_SC_UTF8.zip
discuz!X安装包: Discuz_X3.2_SC_UTF8.zip

实际应用背景:网站使用ecshop已经有一段时间,积累了一些用户,discuz是新装.希望把ecshop的用户导入discuz,并能实现同步登录。

1,先安装ecshop

2,安装UCenter

3,安装Discuz

整合步骤:

1.解压下载的ucenter安装包

服务器端在upload目录,改名为uc_server,客户端在advanced/uc_client里。如图

2.安装ucenter服务器端
把主文件目录(upload)拷贝到ecshop根目录,ecshop/uc_server,访问url地址安装uc_server.
然后进行安装。。。

3.拷贝ucenter客户端

拷贝ucenter客户端目录(advanced)里面的(uc_client)复制到ecshop根目录,ecshop/uc_client。(同时也替换掉discuzX3.2里的uc_client目录)

4.设置ucenter信息

登陆ecshop后台,安装ucenter插件

在下图的地方点击"直接保存配置信息"。

如果你点了下一步用ecshop的程序导入了所有用户.你可能:
a.因为ecshop用户太多导致php程序执行超时,导入失败.
b.即使成功导入所有用户后,用户也无法使用原始密码登录,至于密码是什么,没有人知道,因为ecshop导入用户的时候算错了密码.

UCenter 的 URL:http://bbs.****.com/uc_server
(这里就是UCenter后台链接)
UCenter 创始人密码:这里是你安装UCenter的密码。

 

开始导入

5.安装Discuz 3.2

安装时不安装ucenter,只安装论坛部分.ucenter填写相应的信息.
补充:建议把discuz拷贝到的ecshop根目录下,并且使用同一个域名,不要给discuz使用其他域名,不然ucenter里经常通信失败.比如,ecshop在域名
www.abc.com下,discuz在bbs.abc.com里,则由于未知的原因经常通信失败.我的做法是discuz位于www.abc.com/bbs下.

Discuz! X3 全新安装图文教程

完成.............

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

 以上是安装了 ecshop 后安装 discuz论坛!如果是已经有论坛了,需要将论坛升级到3.2版本然后接着操作。

 

5.导出导入ecshop用户
使用navicat导出ecshop的用户表ec_users,导出以下字段的数据.导出成excel的xls文件users.XLS

user_name password reg_time last_login last_time last_ip ec_salt salt


用excel手工新增一个字段groupid,设置值为10.discuz中是"新手上路"用户组.
再用excel手工新增一个字段timeoffset,设置为9999或8.discuz中,9999的时区是使用系统默认.8是东八区时间,即北京时间.
如果excel打开该文件时提示某些可能错误,则操作完成后需要另存一下同名文件.因为navicat导出xls文件有些问题,需要用excel另存一下正确的xls文件.
用navica将user.XLS文件导入ucenter的用户表uc_members.字段对应关系如下:

ucenter字段名 ecshop字段名
uid user_id
username user_name
password password
email email
regdate reg_time
lastloginip last_ip
lastlogintime last_login
salt ec_salt



只要ucenter的加盐字段salt和ecshop的ec_salt字段对应,password对应.则用户就可以使用以前的密码登录了.我没有见ecshop使用过salt字段进行加密,可能是预留的字段吧.
6.安装discuzX3.2
安装时不安装ucenter,只安装论坛部分.ucenter填写相应的信息.
补充:建议把discuz拷贝到的ecshop根目录下,并且使用同一个域名,不要给discuz使用其他域名,不然ucenter里经常通信失败.比如,ecshop在域名
www.abc.com下,discuz在bbs.abc.com里,则由于未知的原因经常通信失败.我的做法是discuz位于www.abc.com/bbs下.
7.设置ucenter和discuzX3.2
登录discuz后台,在站长->ucenter设置,对以下两个选项,都设置为"是":

  a.是否允许其他应用的会员在站点激活
  b.是否允许直接激活
登录ucenter的后台,在"应用管理"里,对与ecshop和discuz的两个应用,对于以下两个选项,都设置为"是":
  a.是否开启同步登录
  b.是否接受通知
8.导入discuzX3.2的用户表
此时discuz的管理员的user_id肯定在ecshop的所有用户之后.
其实这一步也可以不做.到目前为止,即使你第6步里的所有设置内容,ecshop的用户过来访问bbs,还是需要手工登录并手工激活的,只是不需要注册了.
为了解决这个烦人的问题,继续用前面的user.XLS文件,再用navicat导入discuzX3.2的用户表bbs_common_member.对应字段如下,groupid和timeoffset字段已经在第5步中增加过来了:

discuzX3.2的用户表字段 ecshop的用户表字段
uid user_id
email email
username user_name
password password
groupid groupid
regdate reg_time
timeoffset timeoffset


9.总结
到此,对于ecshop中已经存在的用户终于可以实现在ecshop和discuz这两个应用中,任何一个应用登录,在其他地方都可以自动登录了.但还存在以下问题:
a.ecshop新注册用户,在访问discuz时仍然需要登录激活;
b.ecshop已存在用户的电话,qq号等信息还未迁移过来,在bbs_member_profile表里对应;
c.ecshop里用户的信息和discuz里的用户信息如何在修改时同步到对方应用.
因为对于开发人员来说,肯定不希望有意识的认识到网站商城和论坛是两套不同的应用,而是希望认为他们是一体的.所以本方案称为97%的完美解决方案.有的问题需要全面考察两个应用的设计思路后,才可能给出完美的解决办法或者代码.这就等待后人给我们继续努力啦.

 

 

posted on 2015-12-16 14:51  飞雪天下  阅读(1153)  评论(1编辑  收藏  举报

导航