Maison > développement back-end > tutoriel php > 类似淘宝、天猫那样顶级域名不同,如何共享Cookie登录状态?

类似淘宝、天猫那样顶级域名不同,如何共享Cookie登录状态?

WBOY
Libérer: 2016-06-06 20:16:15
original
3618 Les gens l'ont consulté

目前项目用的是纯Cookie记录登陆状态

不过最近有个需求是要求在另外一个顶级域名下共享登陆状态

看了下淘宝、天猫等,也是Cookie记录登录状态,但它们域名不同啊,这是如何实现的呢?

还请各位不吝赐教

回复内容:

目前项目用的是纯Cookie记录登陆状态

不过最近有个需求是要求在另外一个顶级域名下共享登陆状态

看了下淘宝、天猫等,也是Cookie记录登录状态,但它们域名不同啊,这是如何实现的呢?

还请各位不吝赐教

一楼说的靠谱吧,sso单点登录
看源码可以发现天猫和淘宝都引用了这样一个iframe,不知道是不是答案
https://atanx.alicdn.com/t/acookie/acbeacon2.html#....

sso 单点登录实现的吧

简单实现的话,cookie有个domain属性,不设置的话,是当前完整域,可以设置成父域.taobao.com就可以在这个父域的所有子域内共享cookie

万变不离其宗,想办法把用户的标识在登录后种到其他子系统或者sso系统的cookie里。

JD在登录后用jsonp把所有的子系统全给callback一遍种了一遍cookie,同时加上服务器相互的校验和认证就可以达到同步登录的效果。
或者跳转页面种cookie,种到sso系统中,其他所有子系统调用sso系统来判断是否登录,实现也很简单。

把session存缓存比如redis

听说是可以用token来实现不同域名之间的登录控制,要是非要用session的话只能自己同步不同域名下的session或者用redis等key-value数据库

在服务端统一管理Session,终端访问时,拿统一的Session ID去服务端验证登录状态。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal