Module Document

基础架构 · 一站式工作台 / SSO产品文档

基础架构 · 一站式工作台 / SSO产品文档

版本: v0.1
日期: 2026-07-06
归属: 基础架构 / 一站式工作台 / SSO

1. 产品定位

为内部员工、研发、运营、售后、管理层提供统一登录、统一菜单、统一权限和跨系统待办入口,减少账号散落和权限失控。

飞书做协同入口,内部工作台聚合业务入口和权限上下文,SSO/RBAC 统一账号与访问控制。

定位维度 v0.1 口径
建设阶段 试产期最小可运营底盘,不做过度平台化。
事实源原则 飞书做协同入口,协同入口与身份底座的配置、记录和审计进入结构化系统。
180 天目标 先跑通核心闭环,再按容量、安全和自动化逐步增强。

2. 使用对象与核心诉求

使用对象 核心诉求
内部员工 一个入口进入常用系统、待办、审批和知识链接。
IT/权限管理员 统一管理账号、角色、系统授权和离职回收。
业务负责人 按岗位配置菜单和数据权限。
审计/安全 追踪登录、授权、提权和敏感操作。

3. 系统边界

负责 不负责
SSO、账号同步、组织架构映射、RBAC、菜单聚合、应用入口、飞书消息/审批/任务聚合。 各业务系统的业务数据事实源、飞书原生组织治理、复杂低代码门户建设。

4. 核心场景

5. 功能清单

功能 说明
统一登录 对接飞书/企业 IdP,提供 SSO、MFA 和会话管理。
组织与账号 同步组织、人员、岗位、状态,维护系统账号映射。
RBAC 角色、权限、菜单、数据范围和临时授权。
工作台入口 系统入口、常用链接、待办聚合、告警入口和知识入口。
权限审计 授权、提权、回收、登录和异常访问审计。

6. 业务流程

  1. 同步组织账号
  2. 配置角色和菜单
  3. 用户 SSO 登录
  4. 访问业务系统
  5. 记录权限和登录审计
  6. 离职/转岗回收

7. 权限与运营规则

8. 验收指标

指标 验收口径
账号收口 核心内部系统 90% 以上接入 SSO。
离职回收 离职账号 1 小时内禁用,核心权限 100% 回收。
临时授权 临时高权限 100% 有到期时间和审批记录。
入口覆盖 研发、运维、运营、售后常用系统入口 100% 在工作台可见。

9. 里程碑

阶段 交付物
0-30 天 完成 SSO 选型、账号同步、角色模型、首版工作台信息架构。
31-90 天 接入 GitLab、管理后台、监控、文档、审批和核心业务系统。
91-180 天 补齐数据权限、权限复核、临时授权、登录风险和待办聚合。

10. 风险点

风险 应对
把工作台做成大而全门户 v0.1 只做入口、SSO、权限和待办聚合,不承载业务事实数据。
权限模型过细导致落地慢 先按岗位/系统/菜单三级,数据权限逐步补齐。
飞书与业务权限混淆 飞书是协同入口,系统授权以 SSO/RBAC 为准。

06.06.05 管理后台基座与认证接入决议

状态:accepted,生效日期 2026-07-16。该决议替代旧版 WORKSPACE_SSO_SELECTION 中的 Casdoor / React SPA / Casbin 推荐,以及旧版 ADMIN_CONSOLE_SELECTION 中的 Ant Design Pro + Go/Gin 推荐。

06.06.05.1 架构决议

主题决议边界与约束
仓库边界新建 infimaker-admin-feinfimaker-admin-be 两个仓库,前后端分离、分仓管理。前端只承载 Portal、原生管理页和 iframe 容器;后端只承载管理控制面,不吞并业务后端。
前端基座infimaker-admin-fe 采用 pure-admin-thin,技术栈为 Vue3、TypeScript、Vite、Element Plus、Pinia、Vue Router、Axios。选择精简模板,便于前端不熟悉的团队使用 AI 稳定生成 CRUD 页面;商用前需保留 MIT 版权/许可声明并做依赖、图标、字体、模板素材 license 扫描。
后端基座infimaker-admin-be 采用 SpringBoot,自建飞书 SSO、管理员 RBAC、菜单、权限码、审计、iframe 白名单、一次性 SSO ticket 和外部系统管理适配器。后端直连 Admin DB;Controller / Service / Repository 分层;所有写操作进入审计。
认证入口管理后台唯一登录入口为飞书 SSO,OAuth code flow 由 admin-be 服务端完成;前端不保存飞书 client_secret、飞书 user_access_token 或长期 JWT。优先使用 HttpOnly + Secure Cookie 承载管理后台会话;飞书用户身份映射以 tenant_key + union_id 优先,拿不到时退到 tenant_key + open_id
业务后端边界cert_centerota_besn_center 不在 admin-be 内实现;它们保持独立业务服务和独立数据库,只消费 admin-be 的管理员认证授权能力。接入方式优先 JWT/JWKS 或统一 Gateway;业务服务必须在后端强校验自己的权限码,不能只依赖前端菜单隐藏。
auth_be 管理auth_be 是外部用户认证系统,运行时保持独立;其管理职能由 admin-be 通过管理 API 执行。管理员身份与外部用户身份分离;admin-be 不直接写 auth_be 数据库,除非没有管理 API 且单独评审风险。
已有后台嵌入允许通过 iframe 嵌入已有内部管理后台;admin-fe 负责统一菜单入口和 iframe 容器。旧后台优先接飞书 SSO 或统一同站 Cookie;禁止把长期 JWT / Session token 放入 iframe URL,禁止随意 postMessage 传长期 token。无法改造时只允许使用 30-60 秒、一次性、绑定用户/系统/权限/redirect 的短期登录票据。
数据事实源业务事实源保留在各业务服务;admin-be 只保存管理员、角色、权限、菜单、系统注册、审计和 SSO ticket 等控制面数据。不得让 admin-be 变成 OTA、SN、证书、外部用户认证的大单体。

06.06.05.2 目标架构

flowchart TD
  FE["infimaker-admin-fe\npure-admin-thin / Vue3 / Element Plus"] --> ADM["infimaker-admin-be\nSpringBoot Admin Control Plane"]
  ADM --> FS["飞书 SSO"]
  ADM --> ADB[("Admin DB\n管理员/RBAC/菜单/审计")]
  ADM --> AUTH["auth_be\n外部认证系统管理 API"]
  FE --> GW["统一 Admin API 域名 / Gateway"]
  GW --> ADM
  GW --> OTA["ota_be\n独立业务服务"]
  GW --> SN["sn_center\n独立业务服务"]
  GW --> CERT["cert_center\n独立业务服务"]
  OTA --> ODB[("OTA DB")]
  SN --> SDB[("SN DB")]
  CERT --> CDB[("Cert DB")]
  FE --> IFRAME["iframe 旧后台\nSSO / 同站 Cookie / 一次性 ticket"]

06.06.05.3 执行计划

阶段交付物验收口径
P0 仓库与基座创建 infimaker-admin-feinfimaker-admin-be;前端初始化 pure-admin-thin;后端初始化 SpringBoot、OpenAPI、统一响应、异常处理、审计基础表。两个仓库可独立启动;前端构建通过;后端健康检查与 OpenAPI 可访问;license 扫描基线生成。
P1 飞书 SSOadmin-be 实现 /api/auth/feishu/login/api/auth/feishu/callback/api/auth/me/api/auth/logout;完成飞书用户到管理员用户的映射。管理员可通过飞书登录后台;会话使用 HttpOnly Secure Cookie;前端不持有飞书 token 或 client_secret;登出后 /api/auth/me 返回 401。
P2 RBAC 与菜单实现管理员、角色、权限码、菜单、数据范围基础模型;前端实现动态菜单、权限指令和 403 页面。不同角色看到不同菜单;按钮按权限码显示;后端接口对无权限访问返回 403;所有授权变更有审计。
P3 业务服务接入定义 JWT/JWKS 或 Gateway 鉴权规范;ota_besn_centercert_center 接入管理员身份和权限码校验。业务服务不依赖 admin-be 数据库;服务端能校验权限码;前端可通过统一 Admin API 域名访问业务管理接口。
P4 auth_be 管理admin-be 接入 auth_be 管理 API,提供外部用户、应用、密钥、策略、禁用、审计查询等管理页面接口。管理操作由 admin-be 先校验 auth.* 权限并写审计;不直连 auth_be 数据库;外部用户身份不与管理员身份混表。
P5 iframe 旧后台实现 iframe 系统注册、URL 白名单、CSP/frame-ancestors 约束和一次性短期登录票据流程。白名单外 URL 无法嵌入;旧后台不接收长期 token;一次性票据 30-60 秒有效且兑换后作废;iframe 入口受 legacy.*.view 权限控制。
P6 原生 CRUD 模块按优先级建设 RBAC、用户中心、SN、OTA、设备云、证书中心、金蝶 BOM/物料等原生 Vue + Element Plus 页面;后端通过 OpenAPI 生成前端类型。每个模块具备列表、查询、详情、新增/编辑、删除/发布等受控操作;高危动作二次确认并审计;AI 生成页面必须基于 OpenAPI 类型和既有页面模式。
P7 安全与运维加固补齐 rate limit、CSRF、CORS、CSP、审计检索、操作水印、依赖安全扫描、备份和监控告警。无明文密钥入库或入日志;依赖漏洞和 license 风险有清单;核心写操作 100% 可追溯到管理员、对象、前后值和 trace_id。

06.06.05.4 禁止反模式