编程

当前位置:澳门新莆京娱乐官网 > 编程 > 点单登录澳门新莆京23819com

点单登录澳门新莆京23819com

来源:http://www.drgigabytes.com 作者:澳门新莆京娱乐官网 时间:2020-01-31 20:49

首先初步了解什么是单点登录,单点登录的技术难点和各种方案,以及各自存在的问题

最简单的实践方式:

同域名,同服务器下不同子域名实现单点登录

以cookie机制实现。单个域名实现登录,在登录认证成功后,会设置一个cookie保存在浏览器中,之后的请求带着这个cookie,服务器通过获取cookie中的sessionid来校验是否登录过。如果在浏览器打开另一个域名的时候,也需要用户登录,而cookie是不可以跨域的。但是在顶级域名下www.antfoot.dev,的子域名sso1.antfoot.dev,sso2.antfoot.dev是可以共享cookie的

所有系统提取,使用认证标识,cookie或其他ticket

主要功能:

同域名下,子域名之间可以共享cookie,所有可以通过其中任何一个域名作为认证系统,那么其他系统就可以通过带着cookie发送请求到服务器,无需再次登录操作即可通过认证。

代码1

百度百科:SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

澳门新莆京23819com 1主域名下创建session文件澳门新莆京23819com 2子域名1,给seesion文件中添加一个值,并输出所有澳门新莆京23819com 3子域名2,拿到所有session内容

澳门新莆京23819com 4澳门新莆京23819com 5子域名1,测试脚本澳门新莆京23819com 6澳门新莆京23819com,子域名2测试脚本

共同的认证系统

但是,如果是不同域名下,这种简单的实现方案就不可用了,因为cookie是不可跨域的。

浏览器测试结果

如果是同域名,不同服务器,不同子域名,那么将session信息存在可以共享的redis或数据库中,以满足统一的认证系统条件

对于不同域名,需要一个认证域名,所有请求在程序内重定向到这个认证域名下,认证成功后,设置认证域名下一个cookie,其他域名请求时,先从定向到此认证域名,检索cookie,如果成功,则返回到最终的请求并带上一个认证成功的token,该域名就可以通过这个token记录其登录状态

本文由澳门新莆京娱乐官网发布于编程,转载请注明出处:点单登录澳门新莆京23819com

关键词: