父子域如何用cookie实现在父域中登录,子域中不用登录(比如百度和百度贴吧)
其实这个实现就是单点登录,只要登录了其中一个应用系统,其他的应用系统也可以使用,不用重新登录。
方法一:使用cookie
domain 和 Path 标识定义了 Cookie 的*作用域,Domain 指定了哪些主机可以接受 Cookie。如果不指定,默认为 origin,不包含子域名。如果指定了Domain,则一般包含子域名。如果设置 Domain=mozilla.org,则 Cookie 也包含在子域名中(如developer.mozilla.org)
我们只需要将 Cookie 的 domain 属性设置为父域的域名(主域名),同时将 Cookie 的 path 属性设置为根路径,这样所有的子域应用就都可以访问到这个 Cookie 了。
缺点:不支持跨主域名。
方法二:使用LocalStorage 跨域
全部在前端代码中实现,不需要后端。一个应用登录以后,后端返回token,前端拿到token后保存在localstroge中,另一个应用登陆时,判断localstroge中是否存储有token,如果有存储,直接使用登录成功。
方法二:使用认证中心
使用Apereo CAS 实现单点登录。cas具体实现
Apereo CAS 是一个企业级单点登录系统,其中 CAS 的意思是”Central Authentication Service“。它最初是耶鲁大学实验室的项目,后来转让给了 JASIG 组织,项目更名为 JASIG CAS,后来该组织并入了Apereo 基金会,项目也随之更名为 Apereo CAS。
使用OAuth2授权实现单点登录
OAuth2授权具体实现
父子域如何用cookie实现在父域中登录,子域中不用登录
最新推荐文章于 2024-05-02 14:26:53 发布