SSO 单点登录(SSO Single Sign‑On)
2026/6/3 20:54:07 网站建设 项目流程

一、核心一句话(必背)

一次登录,多系统免登;一次登出,多系统同时失效多用于 SOA、微服务、多后台系统、多域名统一认证场景。

二、为什么需要 SSO(解决什么问题)

  1. 多系统(OA、CRM、ERP、商城后台)各自登录,用户体验差
  2. 每个系统重复开发登录、鉴权逻辑,重复造轮子
  3. 账号、权限分散,统一管理困难
  4. 企业内部系统需要一套账号通行所有业务系统

三、三大核心角色(必记)

  1. 用户端:浏览器、APP、小程序
  2. 业务系统:各个需要保护的应用(A 系统、B 系统、C 系统)
  3. 认证中心 CAS / Auth Server:统一登录入口,负责认证、发令牌、校验令牌

四、SSO 主流实现方案(面试高频)

方案 1:基于 Cookie + Session 共享(同域名 / 父域名)

适用:同一主域名下多个子系统原理:

  1. 登录认证中心,Session 存入 Redis
  2. 认证中心在主域名种下登录 Cookie
  3. 所有子系统共享该 Cookie,解析后去 Redis 校验 Session

缺点:

  • 跨主域名无法使用(浏览器跨域 Cookie 限制)
  • 有状态,依赖 Redis 会话存储

方案 2:CAS 协议(票据模式,标准企业 SSO)

CAS =Central Authentication Service流程:TGT 全局票据 → ST 临时服务票据

  1. 用户访问业务系统,未登录 → 重定向 CAS
  2. 用户登录成功,CAS 生成TGT(全局凭证),写入 Cookie
  3. CAS 返回ST(一次性服务票据)给业务系统
  4. 业务系统拿着 ST 去 CAS 验证,验证通过允许访问

特点:标准、安全、跨域支持,传统企业系统常用。

方案 3:OAuth2.0 + JWT(现代微服务主流)

适用:跨域、前后端分离、第三方登录、微服务

  1. 认证中心登录成功,下发JWT 令牌
  2. JWT 自带用户信息、权限、过期时间,加密不可篡改
  3. 业务系统自行解密校验,无需每次请求认证中心
  4. 无状态,扩展性强

OAuth2 是授权框架,JWT 是令牌格式,二者常搭配做 SSO

五、标准 SSO 完整流程(CAS/OAuth 通用背诵版)

  1. 用户访问业务系统 A,未检测到有效登录凭证
  2. 系统 A 重定向到统一认证中心
  3. 用户在认证中心输入账号密码完成登录
  4. 认证中心签发全局凭证(Cookie/TGT/JWT)
  5. 跳转回业务系统 A,携带临时票据
  6. 系统 A 向认证中心校验票据有效性
  7. 校验通过,用户正常访问
  8. 后续访问系统 B/C,直接携带凭证,免登

六、SSO 关键技术点(必背考点)

  1. 跨域问题:不同域名无法共享 Cookie,CAS、OAuth、JWT 解决跨域
  2. 凭证载体:Cookie(浏览器)、Header Token(前后端分离)
  3. 状态类型
    • 有状态:Session 存在 Redis(传统 SSO)
    • 无状态:JWT 自带信息(现代主流)
  4. 登出逻辑全局登出,销毁凭证,所有系统同时失效
  5. 安全性:HTTPS、令牌过期、防篡改、防重放攻击

七、SSO 优缺点

优点

  1. 用户一次登录,多系统通行,体验好
  2. 统一认证中心,避免重复开发登录模块
  3. 账号、权限集中管理,安全可控
  4. 支持跨系统统一登出

缺点

  1. 认证中心是单点,必须做高可用
  2. 跨域场景实现复杂
  3. JWT 无法主动作废,需配合黑名单、短过期

八、高频面试简答(直接背)

1. SSO 是什么?

单点登录,用户在多个相互信任的系统中,只需要登录一次,即可免登访问所有系统,实现统一认证。

2. SSO 如何解决跨域?

通过重定向跳转认证中心,利用认证中心域名下的 Cookie 保存全局凭证,或使用 JWT 令牌放在请求头中实现跨域免登。

3. CAS 和 OAuth 区别?

CAS 面向企业内部统一登录,基于票据验证;OAuth2 面向第三方授权登录,更通用,常配合 JWT 用于微服务

4. JWT 做 SSO 的优缺点?

优点:无状态、跨域友好、性能高;缺点:无法主动失效,需要设置较短过期时间,或维护黑名单。

九、极简背诵口诀

SSO 单点登录,一次登录多系统免登;三角色:用户、业务系统、认证中心;三种方案:Cookie 共享(同域)、CAS 票据(企业)、OAuth+JWT(微服务跨域);核心解决跨域、重复登录、统一权限。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询