ask2问答系统ucenter整合教程

2016-04-26 21:12发布

ask2与ucenter整合步骤如下:

1、登陆到ucenter server,点击后台应用管理,添加应用,输入应用名称、应用url、通信密钥等信息点击提交

blob.png

注意:上面箭头方向,一般是留空,这里配置了127.0.0.1,应该也是服务器本机,写上没关系。

我当初配置问答的时候发现没写 127.0.0.1导致通信失败,后来参考Dz论坛配置,补上ip就好了。

其它设置参考Dz配置就行,最后会生成UC配置信息

2、把生成的ucenter配置信息填写到后台:

blob.png


blob.png

后台开启uc,然后把uc配置信息放到”2"处。

第一处的论坛ucenter地址一定要写,网址后边带上反斜杠'/'.



3、检查配置是否成功,登录到ucenter server点击应用链接查看ask2问答应用的通信状态,如果是通信成功则表示ucenter整合成功。

这里要特别注意的是如果是和discuzx整合需要在后台站长=》ucenter设置中设置是否允许其他应用直接激活

 

特别申明:

测试同步登录。

同步登录坑有点多,有时候你会发现A站和B站没法随便选个登录双方都能同步登录,其实这是官方挖的坑,自己手动修改下吧,AB站根目录应该都有uc_client文件夹,

找到这个文件夹,然后

blob.png

Uc_client/data/cache/app.php,这个路径,打开

重点检查下你uc下应用有多少,比如有两个

blob.png



这里应该会有两个,appid都有对应上,还有url

没有自己补上

blob.png

Uc_client下的client.php里有个同步登录的函数

blob.png


注意,if(count($_CACHE['apps']) > 1) 如果应用大于1才执行这个同步登录代码。


ucenter扩展配置:

一般而言如果是全新系统ucenter整合的话,上面的步骤完成之后基本就配置好了。但是实际情况中有些用户可能一开始只用问答系统,没有整合ucenter,这个时候整合ucenter就会发现已有的用户登录不了。针对此问题,我们也做一个调整,如果登录用户仅存在于问答模块,登录时会自动注册ucenter,然后完成登录。

因为ucenter的整合是基于uid和username的,因此必须要保证ucenter_server和整合的应用中的用户uid保持一致。因此需要确认ucenter的ucenter_members表中的uid自增与ask2用户表中的自增条件没有冲突,最好方式就是将下一个自增值调整大一些,避免造成uid不一致的情况。如果有这种情况,收到到ucenter_server的数据库中执行如下sql即可

后面的30000就是要设置的自增值,例如ask2问答系统有20000用户,下个用户uid就是20001,ucenter_server是新安装的只有一个用户admin,下个uid就是2,此时需要将ucenter的自增改为20001或者更大一些



以下情况死都不会同步:

如果论坛已经有用户数据,问答也有用户数据,因为ucenter同步原理还是靠uid和username登录,如果张三在论坛里账号是张三,uid是5,但是在问答里名字叫李四,uid是7,这张三在问答里登录永远成不了李四。

一定要确保同一个用户的uid和用户名一致,还有密码如果多个系统用户密码不一致,参考ucenter用户表的密码为准。

Ask2问答系统里要注意地方:

如果问答配置uc成功了:

1 问答里用户头像默认都是走uc那边了,问答里上传头像修改了不会起作用。

2 同步登录只是同步登录账号,在问答里修改用户信息不会更新到其它系统,只在问答里起作用。


如果发现因为开启uc无法登录网站问题,请记得走下面步骤关闭uc恢复正常:

1 进入问答数据库,如果不知道是哪个数据库,网站根目录下的config.php配置文件里能看到配置信息。

找到ask_setting 表,表里有个ucenter_open字段,删掉这个字段。

2 ftp进入网站根目录data文件夹,里面有个cache和view文件夹,打开着两个文件夹,里面有很多文件,都是缓存文件,全部删掉。


最后重新访问网站会正常!







赞赏支持