讲之前,我说下ucenter同步原理,ucenter同步是靠uid管理的,每当有用户信息插入ucenter中,在uc_members表中会自增一个用户记录,uid从1开始。
所以:ucenter适合新站刚安装的时候接入,这样用户信息不会乱。
情况分为两种:
1 如果是新安装的问答系统,没有任何用户,超级管理员除外(uid=1)--设置【不应用】
这种情况在问答系统ucenter配置中,【uid同步问答】这项设置为 不应用,这样就以ucenter中用户表里的uid为主,如果插入成功会返回uid,然后同时更新问答系统里用户的uid,保持和ucenter同步
2 如果是问答系统有很多用户,然后向接入ucenter,这种情况需将uid和问答同步,不然问答数据会乱--设置【应用】
我举个列子:问答系统有100个用户了,突然站长想接入ucenter,按照ucenter思想,如果新增用户到uc,那么这个用户的uid是从1开始自增的,也就是说如果“张三”是问答系统里第101个用户,集成uc后,正常来说返回的应该是101,但是其实返回的是1,然后呢,
这样会导致原本问答系统里uid=1是超级管理员的用户变成了张三,然后蝴蝶效应,uid=1的这个用户以前的回答,提问,发布文章,评论,以及支付信息等一切操作都变成了“张三”了,这是个很恐怖的事情,这个并不是问答系统bug,是uc集成后接口返回的就是ucenter的
uc_members用户表里uid主键值。
为了规避上面存在的问题,你必须将【uid同步问答】这项设置为 应用,也就是保持问答原来用户表中uid的值。
-----------------------------------------------------------------
以下情况永远不可能用户同步:
A网站有很多用户,B网站有很多用户,A网站有个叫张三的,uid=6,B网站有个叫张三的,uid=9,其实这是两个不同的人,如果强制集成uc,后果很严重,会把AB网站用户信息搞乱,如果B网站张三先登录,那么A网站张三的uid会设置为B网站张三的uid.
综上所说,uc集成适合新站,老站慎用!