整个过程可以分为四大步:

(图片来源网络,侵删)
- 环境准备:确保你的服务器环境支持。
- 安装UCenter:先安装用户中心。
- 配置UCenter:在UCenter中添加织梦应用。
- 配置织梦:修改织梦文件,使其与UCenter通信。
第一步:环境准备
在开始之前,请确保你的服务器环境满足以下条件:
- Web服务器:Apache 或 Nginx (Apache 更为常见和稳定)。
- PHP环境:建议 PHP 5.4 - 7.2 之间(织梦DedeCMS V5.7对PHP 7.x有较好支持,更高版本可能不兼容)。
- MySQL数据库:5.0 或更高版本。
- 必要的PHP扩展:
mysqli,gd,curl,zlib,openssl等,这些是织梦和UCenter正常运行的基础。
第二步:安装 UCenter
-
下载UCenter
- 访问 Comsenz官方下载页面 下载最新版的 UCenter。
- 下载后得到一个压缩包,
uc_client_1.6.0_sc_gbk.zip(GBK版本) 或uc_client_1.6.0_sc_utf8.zip(UTF-8版本)。
-
上传并解压
- 通过FTP或文件管理器,将UCenter压缩包上传到你的网站根目录。
- 在网站根目录下解压,解压后,你会看到一个名为
uc_client的文件夹。
-
创建数据库
(图片来源网络,侵删)- 登录你的phpMyAdmin或其他数据库管理工具。
- 创建一个新的数据库,
ucenter_db,并设置好字符集(推荐utf8mb4或gbk,需与后续织梦数据库保持一致)。
-
运行安装程序
- 在浏览器中访问
http://你的域名/uc_client/install/。 - 你会看到UCenter的安装欢迎界面,点击“我同意”。
- 在浏览器中访问
-
填写数据库信息
- 数据库服务器:通常是
localhost。 - 数据库用户名:你的数据库管理用户名。
- 数据库密码:对应的密码。
- 数据库名称:你刚刚创建的数据库名,如
ucenter_db。 - 数据库表前缀:可以保持默认的
uc_。 - 管理员密码:设置UCenter后台的管理员密码。
- 网站名称:填写你的用户中心名称,如“我的用户中心”。
- 网站URL:填写你的网站完整地址,如
http://www.yourdomain.com。
- 数据库服务器:通常是
-
完成安装
- 填写完信息后,点击“继续安装”,安装程序会创建数据表并显示安装成功。
- 最重要的一步:安装成功后,系统会提示你立即删除
install目录,请务必通过FTP删除/uc_client/install/文件夹,以防止安全风险。
第三步:在UCenter中添加织梦应用
现在UCenter已经作为用户中心运行起来了,接下来需要告诉UCenter,你的织梦网站也是一个需要它管理的应用。

(图片来源网络,侵删)
-
登录UCenter后台
- 访问
http://你的域名/uc_client/,使用你刚才设置的管理员账号密码登录。
- 访问
-
添加新应用
- 在UCenter后台左侧菜单中,找到“应用管理” -> “添加新应用”。
- 应用类型:选择“其他”。
- 应用名称:填写你的织梦网站名称,如“我的织梦网站”。
- 通信密钥:这是一个非常重要的密钥,用于验证通信双方的身份,系统会自动生成一个,请务必复制并妥善保存。
- 应用URL:填写你的织梦网站地址,如
http://www.yourdomain.com。 - 应用IP:通常填写
0.0.1即可。 - 是否开启同步登录:选择“是”。
- 是否开启同步注册:选择“是”。
- 是否开启同步退出:选择“是”。
-
获取配置信息
- 点击“提交”后,UCenter会生成一个“应用标识”,
1。 - 页面下方会显示一个配置信息块,里面包含了
UCenter URL,应用ID,通信密钥等关键信息。请将整个配置信息块完整地复制下来,我们将用到它。
- 点击“提交”后,UCenter会生成一个“应用标识”,
第四步:配置织梦DedeCMS
这是最后也是最关键的一步,需要修改织梦的配置文件。
-
准备织梦
- 如果你还没有安装织梦,请先安装,确保织梦的数据库和UCenter的数据库是同一个,或者至少是同一个服务器上的。
- 如果你已经安装了织梦,并且已有用户数据,那么整合后这些旧用户数据不会自动同步到UCenter,你需要手动处理或告知用户重新注册。
-
修改配置文件
- 找到你织梦网站的根目录。
- 将你从UCenter后台复制的完整配置信息,粘贴到织梦根目录下的
config_ucenter.php文件中。 - 如果你的
config_ucenter.php文件不存在,可以到/dede/install/目录下找到这个文件,复制到网站根目录。
config_ucenter.php文件内容应该类似这样,请确保每一项都正确填写:<?php // UCenter 配置文件 define('UC_CONNECT', 'mysql'); // 连接 UCenter 的方式, mysql 为数据库 define('UC_DBHOST', 'localhost'); // UCenter 数据库主机 define('UC_DBUSER', 'your_db_user'); // UCenter 数据库用户名 define('UC_DBPW', 'your_db_password'); // UCenter 数据库密码 define('UC_DBNAME', 'ucenter_db'); // UCenter 数据库名 define('UC_DBTABLEPRE', 'uc_'); // UCenter 数据库表前缀 define('UC_CHARSET', 'utf8'); // UCenter 编码 define('UC_KEY', '你在UCenter设置的通信密钥'); // 通信密钥, 与 UCenter 保持一致 define('UC_API', 'http://你的域名/uc_client/'); // UCenter API 地址 define('UC_APPID', '你在UCenter添加应用时得到的ID'); // 应用 ID define('UC_IP', ''); // UCenter IP define('UC_PPP', '5'); // 每次同步返回的最大记录数 ?> -
修改织梦核心文件
-
打开织梦的
/dede/config.php文件。 -
找到
$cfg_cookie_encode这个变量,将其值修改成你在UCenter中设置的“通信密钥”。 -
// 修改前 // $cfg_cookie_encode = 'DedeCMS@5'; // 修改后 $cfg_cookie_encode = '你在UCenter设置的通信密钥';
-
-
更新会员系统
- 登录你的织梦后台(
/dede/)。 - 在左侧菜单中,找到“系统” -> “SQL命令行工具”。
- 在“运行SQL命令行”的文本框中,输入以下代码,然后点击“查询”执行。
ALTER TABLE `dede_member` ADD `uid` int(11) NOT NULL default '0'; ALTER TABLE `dede_member` ADD `ucid` int(11) NOT NULL default '0';
- 这段代码的作用是在织梦的会员表 (
dede_member) 中增加两个字段,用于存储与UCenter同步的用户ID。
- 登录你的织梦后台(
-
同步会员数据(可选,但推荐)
- 如果你织梦站里已有会员,为了让他们能正常使用同步登录功能,需要执行数据同步。
- 织梦后台通常有一个工具可以实现这个功能,路径通常是:“系统” -> “系统设置” -> “UCenter设置”。
- 在这个页面,你可以选择“同步会员数据”或类似的选项,将现有织梦会员的ID与UCenter的用户ID进行绑定,具体操作请根据你织梦版本的后台提示进行。
第五步:测试与验证
完成以上所有步骤后,你需要进行测试以确保配置成功。
- 清除缓存:清除浏览器缓存和织梦后台的缓存。
- 测试注册:
- 访问你的织梦网站的前台注册页面。
- 注册一个新用户。
- 登录UCenter后台,在“用户管理”中查看是否出现了这个新用户,如果出现,说明注册同步成功。
- 测试登录:
- 在织梦前台注册并登录一个用户。
- 打开另一个浏览器(或无痕模式),访问你添加到UCenter的其他应用(比如你同时安装的Discuz!论坛)。
- 查看该用户是否已经自动登录,如果能自动登录,说明登录同步成功。
- 测试退出:
- 在织梦前台点击“退出登录”。
- 切换到Discuz!论坛页面,查看是否已经退出,如果退出,说明退出同步也成功了。
常见问题排查
-
问题1:同步不生效。
- 检查:
config_ucenter.php和config.php中的通信密钥是否完全一致。 - 检查:UCenter中的“应用URL”和织梦的实际访问URL是否完全一致(注意
http和https的区别)。 - 检查:织梦数据库的
dede_member表是否成功添加了uid和ucid字段。 - 检查:服务器防火墙是否阻止了织梦和UCenter之间的通信。
- 检查:
-
问题2:安装或配置时提示“数据库连接失败”。
- 检查:数据库用户名、密码、数据库名是否正确。
- 检查:数据库服务器地址是否为
localhost,如果不是,请填写正确的IP地址。
-
问题3:提示“API Error”。
- 这通常是通信密钥不匹配或UCenter API地址错误导致的,请仔细核对
config_ucenter.php中的UC_KEY和UC_API。
- 这通常是通信密钥不匹配或UCenter API地址错误导致的,请仔细核对
通过以上详细的步骤,你应该能够成功地将织梦CMS与UCenter整合起来,实现强大的用户统一管理功能。
