1.SSO 单点登录原理与实现 面试笔记
一、核心定义(第一层:是什么)
- *SSO(Single Sign-On,单点登录)**:
-
在多个互信的关联系统中,用户只需登录一次,就能在所有系统中自动登录,无需重复输入账号密码。
-
核心原理:统一认证中心 + 令牌(Token/Ticket)共享。
二、标准实现流程(第二层:面试满分答案)
场景:用户访问系统 A → 再访问系统 B
- 访问系统 A
-
用户访问系统 A,系统检测到用户未登录,跳转至统一认证中心(SSO Server)。
-
用户在认证中心完成账号密码登录,认证中心生成全局会话 + 令牌(Ticket/Token)。
-
认证中心带着
Ticket跳转回系统 A。 -
系统 A 拿着
Ticket去认证中心验证,验证通过后,系统 A 建立局部会话,用户登录成功。
- 访问系统 B
-
用户访问系统 B,系统检测到用户未登录,跳转至认证中心。
-
认证中心检测到用户已有全局会话,无需重复登录,直接返回
Ticket。 -
系统 B 拿着
Ticket验证,通过后建立局部会话,用户自动登录成功。
三、关键技术点
-
统一认证中心:所有系统的登录入口,负责账号认证、令牌生成与验证。
-
全局会话:用户在认证中心的登录状态,由 Cookie 维护,跨系统共享。
-
局部会话:用户在各业务系统的登录状态,由业务系统维护。
-
令牌(Ticket/Token):一次性凭证,用于业务系统向认证中心验证用户身份,验证后即失效。
一句话总结
单点登录就是「一次认证,全网通行」:通过统一认证中心生成全局凭证,业务系统凭凭证验证身份,实现跨系统自动登录。
2.SSO 单点登录 面试速记卡片
(直接背,面试张口就来)
一、核心定义
- *SSO(单点登录)**:多个互信系统中,用户只需登录一次,即可在所有关联系统自动登录,无需重复输入账号密码。
- 核心:统一认证中心 + 令牌(Ticket/Token)共享
二、标准实现流程
- 访问系统 A
-
未登录 → 跳转统一认证中心
-
认证中心登录成功 → 生成全局会话 + Ticket
-
带 Ticket 跳回系统 A → 系统 A 验证 Ticket → 建立局部会话,登录成功
- 访问系统 B
-
未登录 → 跳转统一认证中心
-
认证中心检测到已有全局会话 → 直接返回 Ticket
-
系统 B 验证 Ticket → 建立局部会话,自动登录成功
三、关键角色
-
统一认证中心(SSO Server):唯一登录入口,负责账号认证、令牌生成与验证
-
全局会话:用户在认证中心的登录状态,跨系统共享
-
局部会话:用户在各业务系统的登录状态,由业务系统维护
-
Ticket/Token:一次性凭证,用于业务系统向认证中心验明身份
一句话总结
单点登录就是「一次认证,全网通行」:通过统一认证中心生成全局凭证,业务系统凭凭证验证身份,实现跨系统免重复登录。
3.图

