一.
什么是单点登录?
多个系统,只需要一次登录就能访问所有系统,只需要一次退出就能退出所有系统。这就是单点登录。
典型案例:淘宝和天猫。只需要登录其中一个,另一个就无需重复登录。
好处:提高了用户体验。
二.
单点登录常见方案:
1. cookie + jsonp
实现跨域
2. session
入库
+ redis(
或
memcache)
如何选择?
对于需要频繁验证用户登录状态的系统,使用session+redis
;例如电商系统,典型代表如
taobao.com+tmall.com
。
对于不需要频繁验证用户是否登录的系统,使用cookie + jsonp
跨域;例如搜狐旗下的站群系统,典型代表是
sogou.com + 17173.com + focus.cn + chinaren.com
三.
cookie + jsonp方案实现
原理:cookie + jsonp
实现单点登录的原理就是利用
jsonp
实现
cookie
跨域,再细说一下,就是
a
站
b
站
c
站
...
下的登录功能都统一链接到其中一个站点如
a
站下,在这个站点下比对用户名和密码,如果成功就将用户名和密码写入到
a