共勉
"诸君离学校而去了。在社会上立身的困难,恐怕比在学校里求学还要加甚。若非立志奋斗,则以前所受的教育,反足以增加人生的苦恼,或转为堕落的工具。这是诸君所当特别注意的。事业的成功,须经过长时间的辛苦艰难——成功的代价,走过了许多荆棘的路,方才能寻获康庄大道。立志是砍荆棘斧斤,奋斗是劳力。万不可希望以最少的劳力,获最大的成功。" -- 蒋梦麟
Knight's Blog
滴滴海浪技术主管, 前百度资深研发工程师,现居上海。 擅长于大规模的系统平台服务架构。在

- 亿级别搜索平台(sov5.cn)
- 大规模分布式爬虫
- 中间件架设(disconf,CanalX)
- 广告平台(百度联盟广告)
- 租车平台(滴滴租车)
- 语言招聘平台(51tra.com)
- 内容平台(100weidu.com)
- 社区平台(python88.com)
- 资源下载平台(misou.com)
- 计算机图形图像技术(一篇一作)
- 机器学习(一篇一作)

等领域具有颇有经验。
联系方式: knightliao AT gmail.com
联系
Knight's Blog » 工作

跨域登录技术讨论

2015-07-07 10:46

CAS

原理就是通过一个统一的登录中心UC来控制 每个产品线的登录。一般来说,对于大型企业来说,这是必要的,对于小企业来说,没必要这么做。

CAS解决单点登录SSO

http://techv5.com/topic/1528/

淘宝、天猫登录与 cas/sso

http://techv5.com/topic/1529/

跨域实现

这是本文想要讨论的重点

假设存在两个域名:A.com B.com

想实现的效果:用户只要登录任何一个系统,就可以在两个系统均登录

方案一:tmall tabobao 方案

http://www.taobao.com/go/app/tmall/login-api.php?0.5849199007064568

所有天猫的页面均要访问此url来然后cookie, tmall 放弃了自己的cookie,而使用taobao的cookie

统一以taobao的cookie作为中心cookie.

参见: http://blog.csdn.net/pangudashu/article/details/19078535

http://www.iteye.com/topic/1000776

http://stackoverflow.com/questions/3342140/cross-domain-cookies#

优点:方便简单、访问任何页面均不会出现问题

缺点:降低非主站的请求速度,每次请求都需要请求主站一次。

方案二:登录 登出 时行控制

当A系统登录登出时,发送http请求他们页面,进行域控制。对于B系统来说,反之亦然。

优点:不需要每次请求都请求主站

缺点:只能是在登录登出时进行控制,如果用户已经登录A,但是由于cookie在B过期,这时就会出现B没有登录,但是A已经登录的情况。因此,必须将cookie存活时间设置为近似相等来解决此问题。(但如果用户主动将B的cookie删除掉,也是会出现无法登录的问题的。这种方法比较容易出现诧异问题)。

本文链接地址:跨域登录技术讨论
1712 次点击