原理就是通过一个统一的登录中心UC来控制 每个产品线的登录。一般来说,对于大型企业来说,这是必要的,对于小企业来说,没必要这么做。
CAS解决单点登录SSO
http://techv5.com/topic/1528/
淘宝、天猫登录与 cas/sso
http://techv5.com/topic/1529/
这是本文想要讨论的重点
假设存在两个域名:A.com B.com
想实现的效果:用户只要登录任何一个系统,就可以在两个系统均登录
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删除掉,也是会出现无法登录的问题的。这种方法比较容易出现诧异问题)。