Skip to content

已知技术债

更新日期:2026-06-14

已闭环(✅)

  • ✅ SSO Phase A1.1 — shared_auth schema + 数据迁移
  • ✅ SSO Phase A1.2 — robovan + nempoi auth 切 shared_auth
  • ✅ SSO Phase A2 — cookie session 跨子域共享
  • ✅ SSO Phase A3 — 门户超管面板(7 子页全)
  • ✅ P0b 根超管 owner 概念
  • ✅ RBAC v2 schema + 矩阵 UI + 应用层(robovan)生效
  • ✅ 跨 app 登录日志 / 操作日志 / 监控仪表盘聚合
  • ✅ audit/2026-06-13 8 项安全修复

未做(待规划)

优先级 P1

  • NEMPOI 应用层切到 RBAC v2:nempoi 的 require_role() 还是字符串匹配,未读 shared_auth.role_permissions。实施类似 robovan permissionService 的 loadGrants() + require_perm() helper,然后逐路由替换 require_role()require_perm()。涉及文件:auth.py / routes/admin.py / routes/superadmin.py / routes/pois.py 等。
  • 跨 IP 异地灾备:目前 pg_dump 仅本机滚动 14 份,丢机房就完。建议每周拉到 OSS / S3。
  • 生产 PM2 用 root 跑:中等风险。建议建专属 user(robovan / nem_poi)。

优先级 P2

  • 监控仪表盘扩展:加 NEM 调用统计 / token invalid 状态 / 历史趋势图(目前是当前快照)。
  • VitePress 自动从 PG schema 生成表文档:本文档手写,新表加 column 会忘更新。可写脚本读 information_schema 自动出 markdown。
  • 数据快照下载:UI 已展示但下载链接未挂(后端 fleet /api/snapshots/:id/download 已存在,UI 加按钮即可)。
  • 登录日志可终止 session:UI 现仅展示,无 force-logout 按钮(后端 DELETE FROM sessions 已易做)。

优先级 P3 / 设计权衡

  • SQLite WAL → PostgreSQL ✅ 已迁(SSO A1 期)
  • NEMPOI 操作日志写入 shared_auth? 目前各 app 各自 audit_logs,跨 app 合并要前端并发调。如果把 audit 写 shared_auth 单一表,门户可一次拿;但需考虑写 → 跨库 vs 写本地 + 异步同步的取舍。
  • 角色等级硬编码 ROLE_LEVEL vs RBAC matrix:robovan users.js 还有硬编码的等级表用于 audit/2026-06-13 修复(防 management 自我提权)。这套规则现在被 RBAC matrix 部分覆盖,可以考虑统一,但等级语义"严格高于"在 matrix 里没有原生表达。

后续 SSO Phase B 设想

  • B1: 飞书登录在门户(目前只在 fleet 子域)
  • B2: 客户飞书绑定(NEMPOI 客户也用飞书登录,简化)
  • B3: 登录设备识别 + 异常登录提醒(IP 突变 / 新设备)
  • B4: API key / 服务账号(给第三方系统调用)

京ICP备2026033946号