首页 新闻 会员 周边

问几个关于单点登录的问题...

0
悬赏园豆:10 [已解决问题] 解决于 2014-05-13 10:22

完全跨域的2个站点,www.A.com,www.B.com

 

遇到下边的情况时是怎么实现单点登录的:

1,使用同一浏览器,登录了A之后,再打开站点B,A,B站之间不能跨域访问cookie的,在访问B是怎么站的时候,如何验证是否登录成功?访问B站是从地址栏输入的,没有token之类的参数,它怎么知道要验证的是哪个用户?

 

2,使用不同浏览器登录,跨浏览器是不可以读取cookie的对吗?那么..用Session来存放登录信息,当用户量很大的时候,如何解决资源占用问题,另外,还是哪个问题,从地址栏输入B站的时候,没有带任何参数,它是怎么知道要验证哪个用户?

 

3,鉴于1,2中的跨域不能访问Cookie和跨浏览器不能访问cookie,比较成熟的单点登录技术是如何解决这些问题的?

 

谢谢!

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2014-05-08 17:13
< >
分享
最佳答案
1

1.可以通过在B的页面中埋A域的一个JS,因为JS是A域的,所以可以知道用户在A的登录状态,然后在页面中再告诉B(iframe也可以做到)。还有一种方式,就是在A登录的时候,直接跳转或iframe或js一次B,这时可以带token,让B也同步登录。

2.跨浏览器不能互相读cookie。可以把Session不放在内存里(实际上很少是放内存里的,可以放数据库或其他的地方)。

3.见问题1的回答

收获园豆:8
丁学 | 专家六级 |园豆:18730 | 2014-05-08 20:08
其他回答(1)
0

你这已经有点超过跨域的范畴了,推荐你看看OAuth 2.0的相关知识。

收获园豆:2
Jason0508 | 园豆:240 (菜鸟二级) | 2014-05-08 20:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册