Heim > Fragen und Antworten > Hauptteil
Es gibt zwei Websites, a.com und b.com. Nachdem Sie sich bei der Website a.com angemeldet haben, melden Sie sich automatisch bei b.com an und umgekehrt. Kurz gesagt, der Anmelde- und Abmeldestatus der beiden Websites bleibt synchronisiert.
Darüber hinaus gibt es neben a.com und b.com unzählige Websites mit denselben unterschiedlichen Domainnamen, die ihren Anmeldestatus synchronisieren müssen.
Wenn Sie sich beispielsweise einmal beim Duoshuo-Kommentarsystem anmelden, können Sie sich bei anderen Websites anmelden, die Duosuo verwenden, ohne sich anmelden zu müssen. Wie geht das?
我想大声告诉你2017-05-19 10:12:39
SSO(single sign on)
你说的这种情况可以用上面的方案来解决,这种方案有很多实现方式,你可以去查找看一下。
我也举一个简单的例子:
当你在某个网站登录的时候,
1) 他获取了你的用户名和密码,将其发送到后台
2) 通过检验后由后台生成一个加密认证字符 oauth
3) 然后向前台发送信息说你成功登录,同时再利用后台脚本向一系列指定的域名下插入相关认证信息。
这样你虽然只是在一个域名下登录了,但是其他域名下也有了你的认证信息。当然上述只是一种实现方案,还有一些
实现方式和这种差的挺大的。
淡淡烟草味2017-05-19 10:12:39
浏览器所有保存状态的方法,都是按域保存的。以cookie为例,假设你是要在a.com
使用b.com
的授权登录,当你登录的时候调用了oauth,那么其实你是跳转到b.com
进行登录的,那么你的浏览器就会保存b.com
登录状态。那么当你在c.com
登录的时候,你的浏览器已经保存了b.com
的登录状态,那么自然就可以自动登录了。当然,a.com
和c.com
在浏览器中是无法获取到b.com
的状态的。