多网站用户信息如何同步,比如百度,糯米,hao123, 这样的不同域名你们是怎么做的,进来保底1分

kis龍 2015-07-27 12:30:05
我现在想的是做一个程序,通用, 修改数据库链接信息,调用1个数据库,这是备用
用A(主站),B(分站,比如糯米这样的)表示
A 站 id username pwd email bduid
B站 id username pwd email bduid
bduid 表示网站的唯一用户标示,
如果B站没有这个用户, 就去A中找,
如果B中有 bduid 为空,就把信息插入到 A 中
如果B,和 A中都有, B 中 的bduid 为空,这样我就不知道怎么处理了, 如果email 相同还好说,如果不一样呢, 比较有些短点的 id 肯定有不同的人用, AB 2个网站都有可能有这个账号,
你们是怎么处理的?

...全文
209 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kis龍 2015-07-31
引用 13 楼 y75674952 的回复:
这种多站点 也就是多平台 用户同步问题. 之前做过...... 比如有 A.B.C.D 4个站点 .分开独立运行的. 现在要统一 ABCD,注册,登录 的用户 头像积分,等很多信息.. 我之前是 拿一个站点做主站点..也就是主用户数据库. 然后 其他bcd 注册 登录 都需要用jsonp 去查询,注册主站点. 比如 B站点 登录修改信息. 就去用jsonp 去 通知 ACD 站点. 这个用户已经登录.. 修改也是一样.. 上面方式比较简单.. 最好的方式的分离 通信系统 作为 主系统... 下面ABCD 任何信息都请求主系统.. 这样设计就好点. ucenter也可以..不过思想都一样.
恩已经决定用ucenter了.
回复
y75674952 2015-07-28
这种多站点 也就是多平台 用户同步问题. 之前做过...... 比如有 A.B.C.D 4个站点 .分开独立运行的. 现在要统一 ABCD,注册,登录 的用户 头像积分,等很多信息.. 我之前是 拿一个站点做主站点..也就是主用户数据库. 然后 其他bcd 注册 登录 都需要用jsonp 去查询,注册主站点. 比如 B站点 登录修改信息. 就去用jsonp 去 通知 ACD 站点. 这个用户已经登录.. 修改也是一样.. 上面方式比较简单.. 最好的方式的分离 通信系统 作为 主系统... 下面ABCD 任何信息都请求主系统.. 这样设计就好点. ucenter也可以..不过思想都一样.
回复
kis龍 2015-07-27
引用 11 楼 fuckomg 的回复:
用ucenter 接口可以 最近正在也在做这个
谢谢, 我看看这个
回复
小小的时光 2015-07-27
用ucenter 接口可以 最近正在也在做这个
回复
kis龍 2015-07-27
引用 7 楼 love01px 的回复:
不知道楼主要做什么, 要同步各网站属于同一人的信息,必须要有唯一的标示,比方说以邮箱地址或者手机号或者QQ号为准,没有的话就让用户提供一种可以唯一标示用户的信息。基于这种唯一的信息再建表,将每个网站的账号整理存入这个表。 如果用户信息有更新,要有接口能给各个网站和你的数据库发消息,这样才能做到同步。
唯一标识有, 有邮箱, 和手机,但是用户名有可能重复, 但是不是通一个邮箱或手机 或同一个邮箱,手机, 用户名不同, 这个你是怎么处理的?
回复
kis龍 2015-07-27
引用 6 楼 xuzuning 的回复:
你似乎是要做一个 sso (单点登录)系统 1、由于原有系统 A、B、C、D...已经存在并正常运行。所以 sso 必须是独立系统 2、是否使用单点登录,权限在用户 3、由于原系统的用户名及口令均以存在,当选择单点登录时,需由用户开列其在各系统中的用户名 也可注册一个新用户,通吃各系统
看看这样行吗? 设置一个统一id 如 xxxxuid, 来标识 我的用户在,A,B等为同一个用户, 唯一用户区分是email或手机 B站注册,首先发送 用户名,密码,手机,邮箱等 ,唯一标识到A站,注册,在在B, 保存, xxxuid 等信息 修改密码同步更新 A的用户数据, 这样以后新增就不会有问题了, 之前旧数据处理 由于密码无法获取 (md5加密了,AB密码加密方式不同,就是相同,一般AUTH_KEY 也会不一样), 把B站所有信息通过处理插入A站, 没有密码, 返回给B站 xxxxuid 标识这是同一个用户并写入数据库, 如果登录, A站(密码为空,首次导入没有密码),就去B站找对应的密码, 当然php文件有一个配置,字段 from_web_site 内容 xxx.com

$auth_web_site=array(
  'xxx.com'=>array(
           'url'=> 'B站url,判断密码是否正确,返回信息?auth_key={auth_key}&xxxuid=根据这个查询B站信息',
            'auth_key' =>'防止别站验证'
      )
//  如果新增一个网站,这样就不怕了,配置下,用户数据导入下就可以用,
)
// 根据返回信息 更新A站密码,这样以后就不用去B站了,
你看看这样, 还有没有漏洞, 我想了2天, sso 这个,百度, 糯米,应该就是用的这个吧? 我也是刚知道这个,看看 哪个好, 哪个更容易
回复
kis龍 2015-07-27
引用 5 楼 jam00 的回复:
若你现在以B站为主,那就将B站的用户数据表当成Ucenter,其他C站之类的,用户信息都是从B站获取的,是一样的
哦, 我看看吧, 这个只能解决一个有数据,要是2个都有, 那就不行了 , 我再看看
回复
indexroot 2015-07-27
不知道楼主要做什么, 要同步各网站属于同一人的信息,必须要有唯一的标示,比方说以邮箱地址或者手机号或者QQ号为准,没有的话就让用户提供一种可以唯一标示用户的信息。基于这种唯一的信息再建表,将每个网站的账号整理存入这个表。 如果用户信息有更新,要有接口能给各个网站和你的数据库发消息,这样才能做到同步。
回复
xuzuning 2015-07-27
你似乎是要做一个 sso (单点登录)系统 1、由于原有系统 A、B、C、D...已经存在并正常运行。所以 sso 必须是独立系统 2、是否使用单点登录,权限在用户 3、由于原系统的用户名及口令均以存在,当选择单点登录时,需由用户开列其在各系统中的用户名 也可注册一个新用户,通吃各系统
回复
果酱很好吃 2015-07-27
若你现在以B站为主,那就将B站的用户数据表当成Ucenter,其他C站之类的,用户信息都是从B站获取的,是一样的
回复
kis龍 2015-07-27
引用 3 楼 jam00 的回复:
公用的用户信息就存在数据库A中,所有应用的uid都是从A中获取的
恩, 要是之前B站中也有数据的时候, 如何处理? B站中的其他表有使用 用户表 的uid 数据, 我现在就是纠结这个, 别的 都差不多, 更新密码,可以定一个url, php后台访问,或直接服务器php文件直接修改密码, 对了, 之前的 密码加密方式不一样, 只能100分,不能加了
回复
果酱很好吃 2015-07-27
公用的用户信息就存在数据库A中,所有应用的uid都是从A中获取的
回复
kis龍 2015-07-27
引用 1 楼 jam00 的回复:
类似discuz 的Ucenter,用户都存在一个数据库(如A),其他的应用(如B),都从A中获取用户信息,登录/注册都执行的是A,B中建立一个用户表存放只在B应用中用到的信息
我的 B 表中有一些,用户信息, 也要导入 A表中吗? B表中的 uid 也在B站其他表中有使用
回复
果酱很好吃 2015-07-27
类似discuz 的Ucenter,用户都存在一个数据库(如A),其他的应用(如B),都从A中获取用户信息,登录/注册都执行的是A,B中建立一个用户表存放只在B应用中用到的信息
回复
相关推荐
发帖
PHP
创建于2008-08-27

1.9w+

社区成员

“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
申请成为版主
帖子事件
创建了帖子
2015-07-27 12:30
社区公告
暂无公告