所需软件

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%的完美解决方案.有的问题需要全面考察两个应用的设计思路后,才可能给出完美的解决办法或者代码.这就等待后人给我们继续努力啦.

ecshop整合discuz教程完美教程的更多相关文章

  1. ECSHOP安装百度编辑UEditor教程

    ECSHOP系统自带的编辑器大家用过都知道,难用不说,还不能批量上传图片.很多朋友都喜欢百度编辑器,因为百度编辑器功能强大,使用方便,而且不会生成太多多余代码.网上有许多ECSHOP整合百度编辑器的教 ...

  2. ECSHOP验证码背景图修改教程

    ECSHOP验证码背景图修改教程 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2013-11-18   ECSHOP验证码背景图修改教程: ECSHOP前后台的某些地 ...

  3. EcShop二次开发系列教程–总纲

    EcShop作为老牌的B2C独立网店系统,功能非常全名,强大的文件.数据库缓存机制,保证前后台系统执行速度更快.系统平稳运行.但是过多的功能也或多或少的会影响到系统的整个效率,所有在使用EcShop搭 ...

  4. Centos7安装并配置mysql5.6完美教程

    Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...

  5. 帝国cms7.0整合百度编辑器ueditor教程

    帝国cms7.0整合百度编辑器ueditor教程开始 1.根据自己使用的帝国cms版本编码下载对应的ueditor版本 下载地址 http://ueditor.baidu.com/website/do ...

  6. ThinkPHP整合百度Ueditor图文教程

    ThinkPHP整合百度Ueditor图文教程 ThinkPHP整合百度Ueditor,基于黄永成老师的视频说明的申明:最好大家都能写绝对路径的都写好绝对路径比如:window.UEDITOR_HOM ...

  7. [视频]K8飞刀 Discuz csrf Exp教程

    [视频]K8飞刀 一键构造Discuz csrf Exp教程 链接:https://pan.baidu.com/s/1tVseP_ZBneKpXQueIncPcA 提取码:6qnh

  8. js基础到精通全面教程--JS教程

    适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...

  9. Ecshop、Discuz! 等开源产品的局限

    Ecshop.Discuz! 等开源产品的局限 记得今年年初,我初次接触Discuz!和Ecshop时,一阵阵地惊叹:成熟度这么高的产品,居然是免费的.我们这些搞传统软件开发的要怎么活?另外也奇怪,做 ...

随机推荐

  1. (转)阿里官方提供的dubbo-spring-boot-starter 1.0.1 整合的dubbo 2.6.0和spring boot 1.5.9 案例

    作者:许浩_5e9f链接:https://www.jianshu.com/p/5381cc8876e3來源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. springboo ...

  2. linux: 如何查看端口占用?

    查看端口占用 $: netstat -anp | grep 8888 tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 13404/python3 tcp 0 1 172 ...

  3. 小程序setdata json数据的方法

    有如下几种数据格式: sort_condition: { curIndex: ', curArrow: ' } ,//排序界面 date_condition: [ { curIndex: ', cur ...

  4. mysql 查昨天前天上个月数据

    主要使用到DATE_SUB()函数作用:从DATE或DATETIME值中减去时间值(或间隔). 语法:DATE_SUB(start_date, INTERVAL expr unit); 参数详解: s ...

  5. 深入浅出HashMap

    /** *@ author ViVi *@date 2014-6-11 */ Hashmap是一种非常常用的.应用广泛的数据类型,最近研究到相关的内容,就正好复习一下.希望通过仪器讨论.共同提高~ 1 ...

  6. 测开之路十六:@classmethod与@staticmethod

    @classmethod 类方法 和属性一样,所有实例化的对象都共享类方法 @staticmethod 静态方法,可以理解为和类没有任何关系,只是放在了类里面 参数可以任意定义,根据自己的定义传参,也 ...

  7. WireShark 自带工具 editcap 和 text2pcap 配合完成改包操作

    一.拆包 首先声明这种方法比较复杂而且需要点技术水平,不建议菜鸟尝试(可以使用WireEdit编辑pcap包,不过要联网)其实在熟练这种方法后也可以很快的,但这种方法主要还是方便吧,不用下载其他什么软 ...

  8. python多线程的几种情形分析-三种情况

    情形一:默认情况 默认情况,只开启线程,那么,主线程结束,其他子线程可能还没结束. 只使用t=threading.Thead(target=fun),t.start(). import threadi ...

  9. Vue 创建组件的两种方法

    地址:https://blog.csdn.net/cofecode/article/details/74634301 创建组件的两种方法 1.全局注册 2.局部注册 var child=Vue.ext ...

  10. Vue中src属性绑定的问题

    地址:https://blog.csdn.net/qq_25479327/article/details/80082520 地址:https://blog.csdn.net/sinat_3655513 ...