最近怎么老有这些问题啊...
首先解释下什么是单点登录
故名失意 单点登录就是在一个位置登录
原理
部署一个登录站点
然后其他站点都和这个站点产生关系 用这个站点登录
步骤一般如下
1.访问目标站点 发现没有登录
2.到登录站点登录
3.登录完成后 生成一个key 返回目标站点
4.目标站点通过key 获得用户信息 并保存登录状态
其二 解释下一个站点登录全部站点登陆的原理
如果是同域名情况下 可以通过cookie共享key
逻辑及为 如果key没 过期 直接通过key获得用户信息 并保存登录状态
如果是不同域名情况下
在登录站点 将key保存到cookie(cookie只是媒介 用active*之内的也可以)
然后 目标网站没有登录 跳转到登录网站 登录网站发现有key 直接返回之前页面 并将key 传过去
然后目标网站通过key获得用户信息 并保存登录状态
目标网站没有登录 跳转到登录网站 登录网站发现有key 直接返回之前页面 并将key 传过去
这种方式好像比较被动,目标网站假设是b.com,是从a.com跳转过来的,b.com的页面可登录可不登录,登录了显示“欢迎XXX”,没登录显示“请登录”。这样子目标网站b.com其实是不应该跳转到登录网站的,但它应该要能正常显示用户的登录信息。
@斯诺登: 好想法
一个共同的登陆页面,两个网站要登陆的时候都跳到同一个登陆页面去。答题思路就是这样的。
具体的话就是百度 SSO
思路可以参考腾讯的ucenter