设置UCenter下各应用同步登录
Comsenz 同时发布了 UCenter、UCenter Home、Discuz!、SupeV、ECShop、SupeSite 等多个产品,各个产品可以通过 UCenter 实现会员信息的整合,通过简单的设置也可以达到同步登录退出。
设置步骤如下:
一、首先,登录 UCenter 后台,应用管理,确保该应用与 UCenter 通信成功。如果通信不成功,可以参考以下步骤检查下:
1、在 UCenter 后台,应用管理,编辑,接口 URL,检查这个地址是否正确。
2、应用 IP:这里正常情况下留空即可。如果由于域名解析问题导致 UCenter 与该应用通信失败,请尝试设置为该应用所在服务器的 IP 地址。
3、通信密钥:这里的通信密钥要和各个应用中 config 配置文件里的 define('UC_KEY', ) 中设置的数字对应。
4、检查 UCenter 后台,应用管理,编辑,ID 值是不是和该应用 config 配置文件里的 define('UC_APPID', ) 的值相同。
二、登录 UCenter 后台,应用管理,编辑各个应用,确保“是否开启同步登录”,选择的“是”。见下图:
三、检查各个应用 config 文件中的 cookie,不要设置为一样的。
四、确保各个应用中 config 文件设置的参数(通信密钥/接口 URL)要和 UCenter 后台应用管理中各个参数设置相同。
如果不能同步登录,请参考下面的方法进行排查。
1、检查 UCenter 后台各应用的通信是否成功。
2、检查确定 UCenter 里各个应用中的“是否开启同步登录:”需选择“是”。
3、检查各应用的 cookiepre,不能设置为一样的,也就是每个应用的 cookiepre 值都要设置为不同的。
4、请检查下 UCenter Home 的 config.php 文件里面的 UCenter 参数设置是否正确,导致 UCenter Home 连接不上 UCenter。
可以登陆 UCenter 后台 => 应用管理 => 编辑 UCenter Home 这个应用,将里面最下面应用的 UCenter 配置信息复制一份,将 UCenter Home 的 config.php 里面的对应信息替换下。
5、其它应用同理,也是检查应用的配置文件里 UCenter 参数设置是否正确,操作步骤同上。
6、对于编码为 utf8 的用户,注意检查自己的 config 文件有没有修改过编码,默认的编码是 ansi 编码,而不是 utf8 编码。如果修改过 config 文件有 utf8 编码,则会出现 UCenter 通信不成功导致的无法登录情况。
7、如果用户在论坛或其他应用注册,新用户第一次登陆 UCenter Home 或其他应用时,需要手动登陆一次,以后可以同步登陆。
8、Discuz!7.0.0 无法和其他应用同步登陆
打开 global.func.php,找到
$show_message = str_replace("'", "'", strip_tags($show_message));
替换为:
$show_message = str_replace("'", "'", $show_message);
如果还不行
Discuz!7.0.0 正式版在头部不能显示空间的连接,前提是同一个 UCenter 下安装了UCenter Home 了。
打开 ./include/cache.func.php
找到
if(@include(DISCUZ_ROOT.'./uc_client/data/cache/apps.php') && is_array($_CACHE['apps'])) {
替换为
@include(DISCUZ_ROOT.'./uc_client/data/cache/apps.php');
if(is_array($_CACHE['apps'])) {
9、到应用的配置文件中,修改 'UC_IP' 地址为你服务器的 IP 地址。
以前的是
define('UC_IP', '127.0.0.1);
改成
define('UC_IP', '69.89.31.213');
修改之后一切正常,可以同步。
解释:127.0.0.1 是因为有的服务器不支持自己访问自己造成的,很多虚拟主机都有这问题。
10、如果在论坛后台 => 全局 => 注册与访问 => 设置邀请注册 和 Email 验证注册的话 ,在其他应用注册的用户,在那个应用登陆后访问论坛会处于未登陆状态,建议先关闭这个设置。
1.进入Ucenter后台A.应用管理-->添加新应用
(46 KB)
B.选择安装方式-->自定义安装
C.填写好相关信息
应用名称(限 20 字节)
这里填写你站点名称
接口 URL(该应用与 UCenter 通信的接口 URL,结尾请不要加“/”)
如
应用 IP(正常情况下留空即可。如果由于域名解析问题导致 UCenter 与该应用通信失败,请尝试设置为该应用所在服务器的 IP 地址)
这里一般可以不填
通信密钥(只允许使用英文字母及数字,限 64 字节。应用端的通信密钥必须与此设置保持一致,否则该应用将无法与 UCenter 正常通信)
如"phpcmsucenter123"
是否开启同步登录(开启同步登录后,当用户在登录其他应用时,同时也会登录该应用)
这里选择 开启
标签单条显示模板(前应用的标签数据显示在其它应用时的单条数据模板)
这里可以不填
标签模板标记说明(一行一个标记说明条目,用逗号分割标记和说明文字)
这里可以不填
应用类型
这里选择其他
是否接受通知
这里选择接收
(54.66 KB)
(18.6 KB)
D.记住 应用id(APP ID)
我们返回UCENTER应用列表,发现是 通信失败
没有关系,我们先记住APP id,本例是6,接下来我们去PHPCMS后台设置
2.进入PHPCMS2008后台
A.我的面板-->网站配置-->基本信息
填写好,Phpcms 官方网站帐号 和 密码
(63.86 KB)
B.我的面板-->网站配置-->通行证-->Ucenter Client 配置
(185.75 KB)
3.选择 启用
再填写相关参数
A.Ucenter api 地址
如 最后不要带斜线
B.Ucenter 主机IP地址
一般不用填写,遇到无法同步时,请填写ucenter主机的IP地址
C.Ucenter 数据库主机名
你的Uenter系统数据库所在主机,一般是 localhost
D.Ucenter 数据库用户名
你的Uenter系统所在主机的数据库用户
E.Ucenter 数据库密码
你的Uenter系统所在主机的数据库密码
F.Ucenter 数据库名
你的Uenter系统所在主机的数据库名称
G.Ucenter 数据库表前缀
你的Uenter系统数据库所在主机的数据库表前缀
H.Ucenter 数据库字符集
你的Uenter系统数据库所在主机的数据库字符集
接下来,我们检测下是否填写正确
(40.84 KB)
I.应用id(APP ID) Ucenter系统后台添加应用后得到的数字,本例上面得到APP id 是 6
J.Ucenter 通信密钥 与Ucenter添加PHPCMS应用填写的密钥完全一致,本例是 phpcmsucenter123
(135.13 KB)
4.验证是否整合成功
我们返回Ucenter系统后台,点击 应用管理
这时候,我们看到PHPCMS和Ucenter通信成功了,此时,我们整合成功了。
(89.49 KB)
建议:给系统统一一个管理员账号和密码,如 DISCUZ UCHOME ECMALL phpcms
一、上传模版文件夹到phpcms/templates/目录下,并命好文件的名,比如为cmsyou。对应的CSS文件夹放到对应位置(具体按模板要求)。
通过FTP,上传模版文件夹
在后台界面里边可以看到新上传的模板
二、找到菜单:设置 》站点管理 》默认站点,点修改,在【模板风格配置】里边选择cmsyou这个模板。
站点设置里边,选择新的模板并确认提交
:
三、不同模型设置不同的模板:到 内容 》模型管理,修改文章、图片等模型,选择新建的cmsyou这个名称的模板风格,这样设置的好处:新建的栏目会自动对应上相应模型的模板。
在模型设置里边,选择对应的模板
四、返回到 内容 》栏目管理,修改现有的栏目,选择对应的模板(新建的模板直接选择就好)。
修改栏目属性,为栏目选择对应的模板
:
五、更新栏目缓存和系统缓存,如果生成了静态页面,那么需要更新HTML静态页,这样就切换成功了。