上海千语创想科技有限公司
 175-2108-6175
网站建设资讯详细

前端技术中单点登录的三种实现方式

日期:2022-11-23  作者:千语创想  浏览:4872

单点登录是指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的应用系统。本质就是在多个应用系统中共享登录状态。实现单点登录的关键在于,如何让Session ID(或Token)在多个域中共享。

实现方式:认证中心

认证中心是一个专门负责处理登录请求的独立的Web服务。用户统一在认证中心进行登录,登录成功后,认证中心记录用户的登录状态,并将 Token 写入 Cookie。这种方式是单点登录的标准做法,虽然相对复杂,但是支持跨域且扩展性好。

实现方式:父域 Cookie

将Cookie的domain属性设置为父域的域名(主域名),同时将Cookie的path 属性设置为根路径,这样所有的子域应用就都可以访问到这个Cookie了。不过这要求应用系统的域名需建立在一个共同的主域名之下,如tieba.baidu.com 和map.baidu.com,它们都建立在baidu.com这个主域名之下,那么它们就可以通过这种方式来实现单点登录。这种实现方式比较简单,但不支持跨主域名。

实现方式三:LocalStorage 跨域

在前后端分离的情况下,我们可以选择将Session ID(或Token)保存到浏览器的LocalStorage中,让前端在每次向后端发送请求时,主动将LocalStorage的数据传递给服务端。这些都是由前端来控制的,后端需要做的仅仅是在用户登录成功后,将Session ID(或Token)放在响应体中传递给前端。在这样的场景下,单点登录完全可以在前端实现。前端拿到 Session ID (或 Token )后,除了将它写入自己的 LocalStorage 中之外,还可以通过特殊手段将它写入多个其他域下的 LocalStorage 中。

来千语创想移动应用开发平台学习更多APP开发知识:app开发app制作app开发源码下载app开发框架app制作模板等免费获取。千语创想支持APP定制开发,一键网站自动生成app网站转app网站封装app,有网站即可生成自己的app。

 

立即免费在线制作一个APP,新手注册即送开发大礼包

提交app定制需求,免费获取报价和周期:

电脑请点击https://www.qianyuthink.com/?url=/index?uzchannel=500

手机请点击https://www.qianyuthink.com/?url=/m/quickaddcustom



转载请注明来自:https://www.qianyuthink.com/news/6352.html

填写您的项目需求给我们

或者直接拨打 7×12小时一对一咨询电话

175 2108 6175

请填写需求信息,我们会在10分钟内与您取得联系

请认真填写需求信息,我们会在10分钟内与您取得联系

×
客服二维码
咨询技术总监
175-2108-6175
客服二维码
技术总监微信
客服二维码