一、单点登录的含义:
单点登录全称Single Sign On(简称为SSO),指多系统应用无需每次登录,只需登录一次即可访问所有应用系统,包括登录和退出部分。
二、单点登录的实现方式
(1)同域单点登录
在传统web的开发中,采用会话机制来维护服务器和浏览器的通话,服务器端内存中保存session,浏览器保存cookie,每次请求浏览器带cookie去服务器端(tomcat会返回给浏览器JSESSIONID)验证。
在多系统中,采用同域共享cookie的方式实现单点登录,由于浏览器发送http请求时会携带与该域匹配的cookie,所以早期此方式使用较多。
但此方式也存在一定的局限性:1、不安全,2、需采用同域的方式,3、跨语言,跨平台受影响。
(2)跨域单点登录
在前后端分离的架构中,登录某一系统时,会引导到认证中心作认证,验证通过,会返回给用户凭证(ticket),用户再次访问其它应用,会带ticket去验证,其它应用同样带到认证中心去认证,验证通过则无需登录进行进入系统。
以上是sso的基本实现机制,实际情况要复杂得多,实现的方式也多种多样,需具体情况具体分析。