ucenter原理

ucenter是康盛(现属腾讯)开发的用户中心系统,用来打通旗下各个产品,如discuz,ucshop等。前段公司的一个需求是,要求ecstore和discuz打通,可以共享会员,经过一段时间的研究和使用,现介绍ucenter的使用和原理。

流程

现在假设有两个web应用,一个是商城,一个是bbs,要求在任何一个app上对会员进行的任何操作都可以同步到另一个app上,比如:

  1. 会员在商城注册,没有在bbs上注册,但是在商城注册的账号可以在bbs上使用。
  2. 会员在商城登录,直接访问bbs时,不用输入账号密码,就已经是登录状态,可以进行下一步的操作。
  3. 以上2步操作反过来也可以成立,即在bbs上的操作也会同步到商城。

原理

如果用户的操作是从商城开始的,数据走向是这样的:

  1. 用户在商城注册。
  2. 商城把祖册用户的信息插入数据库,并把添加一个用户的信息加密后发送到ucenter系统。
  3. ucenter接收数据,分发给相应的API,API解密数据,然后把数据插入到ucenter的数据库中。
  4. ucenter查询除商城外绑定的其他应用,假如现在只有一个应用bbs,用socket的方式通知bbs的相应借口,增加一个用户。
  5. ucenter又返回给商城一段js代码,js代码的src是bbs的接口地址。
  6. 商城接收到js代码,偷偷图把代码放在页面上,用户不可见,但是浏览器已经访问了bbs相应的接口。
  7. bbs接收数据并解密分发到具体的函数,函数查询此用户并设置bbs的session和cookie。
  8. 用户在没有知觉的情况下,已经登录了bbs。
  9. 用户访问bbs,发现自己已经是登录状态。
  10. 用户发了一个帖子说:这家公司做的数据连同真方便。
  11. 用户逛了一会儿,退出了登录,于是1~9的过程重复了一遍,只是借口和相应执行的函数不同,回到商城的时候,变成了访客状态。

开发者需要做什么?

虽然ucenter提供了很好的SDK,但开发者的工作量还是比较大的,要知道在原理一栏只是一个注册和登录的过程,真正要实现会员共享,还包括有会员的增删和改,甚至是积分和头像的更换,每一步操作都需要写严密的接口。这些接口的操作多数时候在:

  1. 查询数据库。
  2. 设置session和cookie。
  3. 返回正确的值。

最佳实践

如果商城,bbs和ucenter系统装在同一台机器上,就可以采用mysql的方式同步数据。这样的好处是速度快,不好的地方是不利于扩展,如果将来把商城单独部署到一台服务器上,那么原来的配置就会出问题。
所以我建议以下几点:

  1. 不要用mysql的方式连同,而应该用远程的方式连同,方便扩展。
  2. 允许延时,不要每一步都检查用户中心。在实际使用过程中,会存在ucenter挂掉的情况,这样,商城注册的用户是无法立即同步到bbs的。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 最近应公司的要求,要开发一个有点像QQ空间那样的会员管理中心网站,发现UCenter的很多功能酷似QQ空间,于是选...
    手表大大阅读 3,038评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,382评论 25 707
  • 学习路线图引言: 黑马程序员作为一个平台,历经十年,免费公布了十几万小时真实课堂视频提供给IT自学者。但通过反馈,...
    rosekissyou阅读 5,468评论 8 216
  • 最近整理1080P电影,懒得转格式了,就基本统一MKV格式了,但有些MKV没有封装字幕,所以需要个工具封装字幕到M...
    999d9c289d60阅读 827评论 0 0
  • 不想和太阳一样 时时发光却不懂悲喜 不想和月亮一样 夜夜变化却夜夜孤寂 喔不想和星星一样 年年沉默着品尝秘密 你说...
    何处拾珠阅读 180评论 0 1