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


赞助





