chat
ums passport sso 这些系统之间的关系和区别
很好,这个问题问得非常“架构向”,而且正中很多系统设计的坑。
我们用通俗 + 架构视角,把这三者的关系彻底拆清楚。
一句话先说明白
✅ UMS 管“人”,Passport 管“登录”,SSO 管“跨系统统一登录”。
它们不是平级系统,而是一个逐层升级的关系:
UMS → Passport → SSO
用户数据 → 登录认证 → 跨系统身份统一
一、UMS:User Management System(用户管理系统)
UMS 的核心:用户是谁?具有什么属性?属于哪个组织?
它更多是“数据系统”,而不是“认证系统”。
核心职责
-
用户基础信息
- 用户ID、用户名、手机号、邮箱
- 状态(启用、冻结、离职)
-
组织结构
- 部门、岗位、角色
-
权限基础
- 用户-角色关系
- 用户-组织关系
UMS 关注的不是:
- 登录流程细节
- token 发放
- 会话管理
本质
UMS 是:
👤 人的档案系统(类似 HR + 权限基础数据库)
二、Passport:认证中心(登录护照系统)
Passport 是在 UMS 之上诞生的,它的核心是:
✅ 谁在登录?是否可信?怎么验证?给不给通行证?
它是一个专门负责认证的系统。
核心职责
-
登录方式
- 账号密码登录
- 手机验证码
- OAuth(微信、钉钉、LDAP)
-
身份验证
- 校验用户名 + 密码
- 生成 Token / Session
-
登录态管理
- Token 刷新
- 失效控制
- 登录记录
Passport 与 UMS 的关系
Passport 依赖 UMS 用户数据
UMS 不关心 Passport 的登录细节
本质
Passport 是:
🎫 身份通行证颁发中心
三、SSO:Single Sign-On(单点登录平台)
SSO 是在 Passport 之上的“升级版”,它解决的是:
✅ 一次登录,多系统通行的问题。
SSO 通常是一个独立的身份平台,对外提供统一认证能力。
核心职责
- 多系统统一登录
- 跨域认证
- Token 标准化(JWT / OAuth2 / OIDC)
- 登录态同步与注销
- 第三方系统接入规范
SSO 真正解决的问题
假设你有:
- OA 系统
- 运维平台
- CMDB
- 告警平台
没有 SSO: 👉 每个系统都要登录一次
有 SSO: 👉 登录一次,全部系统自动放行
本质
SSO 是:
🛂 企业级身份中枢平台
三者的清晰职责划分表
| 系统 | 核心职责 | 本质定位 | 是否必须 |
|---|---|---|---|
| UMS | 用户管理 | 人的档案中心 | ✅ 必须 |
| Passport | 登录认证 | 身份验证中心 | ✅ 推荐 |
| SSO | 跨系统统一登录 | 身份中枢平台 | 可选但企业级必备 |
典型架构关系图
┌──────────────┐
│ SSO │
│ 单点登录平台 │
└──────┬───────┘
│
┌──────▼───────┐
│ Passport │
│ 认证中心 │
└──────┬───────┘
│
┌──────▼───────┐
│ UMS │
│ 用户管理系统 │
└──────────────┘
如果合并会怎么样?
常见三种模式:
① UMS + Passport 合并
适合中小系统
- 一个系统完成:用户管理 + 登录
- 没有复杂跨系统
👉 很多公司初期就是这种。
② UMS + Passport + SSO 全独立
适合企业级平台
- 多业务系统统一改造
- 微服务架构标准解法
👉 互联网集团常见。
③ 超级合体模式(All in one)
简单系统常用:
- 用户管理 + 登录 + 权限 + SSO 一体化
适合:早期 or 小规模项目 缺点:后期拆分痛苦。
更直观的类比
用“机场”比喻:
| 系统 | 比喻 |
|---|---|
| UMS | 你的身份证档案 |
| Passport | 安检口 |
| SSO | 海关通关系统 |
系统演进路径(推荐建设顺序)
如果从零开始,合理顺序是:
- ✅ UMS:建立用户体系
- ✅ Passport:建立统一登录
- ✅ SSO:统一多系统接入
而不是一开始就搞复杂 SSO 平台。
总结一句话版本(可做架构标准)
- UMS:用户数据与组织权限管理中心
- Passport:统一认证与登录处理中心
- SSO:跨系统身份统一与单点登录平台
- 三者关系:数据 → 认证 → 跨系统通行
如果你愿意,我可以进一步帮你:
✅ 给出【OMS/UMS + Passport + SSO】完整企业级架构图 ✅ 帮你设计一套可落地的 SSO 技术方案(OAuth2 / JWT / CAS 对比) ✅ 给出标准微服务拆分建议 ✅ 输出系统交互时序图
参考资料
https://mybatis.org/mybatis-3/zh_CN/sqlmap-xml.html#Parameters
