Skip to content

权限边界与职责解耦路线图(用户 / 审核员 / 管理员 / 开发者)

版本基线:v1.0
最近固化:2026-04-11
适用范围:Sharelife WebUI、API、命令面与公开 VitePress 文档体系

1. 目标与原则

本路线图用于在维持角色隔离方向不变的前提下,降低不必要的认证复杂度,并进一步收敛公开暴露面。

核心原则:

  • 角色隔离优先于功能堆叠:先定义谁能做,再扩展功能。
  • 默认最小权限:面向用户的公开入口只暴露必要能力。
  • 公开文档不是运维手册:公开页说明边界与稳定行为,敏感鉴权与恢复流程仅保留在私有文档。
  • 鉴权语义必须稳定:未认证返回 401,已认证但越权返回 403

2. 运行时角色矩阵

角色允许操作禁止操作
用户(User)市场检索、安装/卸载、上传/下载、进度浏览、仅对自己待审资源执行属主动作审核决策、严格应用、回滚、reviewer/admin 密钥管理
审核员(Reviewer)审核队列处理、风险标注、审核决策、证据查看系统级 apply/rollback、全局配置写入
管理员(Admin)发布治理、高危操作、reviewer 准入分发、reviewer 设备/会话重置审计日志篡改
开发者(Developer)架构演进、接口扩展、测试与文档维护运行时绕过鉴权

说明:

  • Sharelife 不引入单独的运行时 Creator 角色。资源属主只作为授权规则存在,不作为独立登录角色。
  • 本地 reviewer 设备鉴权仍然存在,但只视为过渡期 fallback 方案。具体发放、恢复、撤销 SOP 不在公开文档中展开。

3. 当前完成度与缺口

3.1 已完成

  • 独立 member、reviewer、admin、market 页面与角色入口边界。
  • 特权路径的路由级鉴权中间件,以及稳定的 401 / 403 语义。
  • reviewer 邀请、设备、会话的后端基础能力。
  • reviewer/device/action 聚合审计摘要。
  • 公开文档与私有文档已拆分,operator/auth 级 runbook 不再纳入公开站点。
  • 模板与 profile-pack 提交流程已具备幂等重放与冲突拒绝(idempotency_key_conflict),降低网络重试导致重复写入的风险。
  • 公开同步门禁已扩展:会阻断 gitlink/submodule 模式变更,以及不在 projection allowlist 内的新增路径。
  • 市场页能力门控已复用共享 runtime helper,降低 member 与 market 面之间的权限漂移风险。
  • CI 已新增单体文件行数预算门禁,避免分解过程中主文件继续无约束膨胀。

3.2 仍待收敛

  • owner-aware 已在“上传 + 已上传资源管理”路径落地。
    • 已覆盖模板/profile-pack 提交,以及 member 侧投稿查询/详情查看接口。
    • 非上传类路径(如偏好设置与通用市场只读查询)保持既有行为,不作为 owner-bound 资源处理。
  • reviewer 会话模型仍需收敛。
    • 路线图不再把“reviewer 全局单活跃会话”作为目标状态。
    • 未来方向应改为按设备粒度失效会话。
  • 当前本地鉴权模型下,admin -> reviewer 生命周期闭环已完成:
    • 邀请码发放、查询、吊销,以及吊销后兑换拒绝
    • reviewer 账户/设备可视化
    • 设备吊销与重置、审计追踪
    • 公开文档仅保留接口层信息,运维 SOP 继续留在私有文档
  • member 身份持久化模型仍待独立化:
    • users/credentials/sessions 结构化落库仍是下一阶段目标。

4. 公开执行方向

4.1 认证方向

  • 先把现有本地认证模型收敛到一致状态,再考虑更大规模的身份系统替换。
  • 本地 reviewer 邀请/设备机制定位为 fallback 实现,而不是长期产品中心。
  • 外部身份源(OIDC / OAuth2 / 企业身份提供方)保留为下一阶段方向,而不是本轮立即重写。

4.2 Reviewer 工作台

  • 审核员必须保留技术证据可见性。
  • 推荐的体验是:默认先看风险摘要,再按需展开技术 payload。
  • 公开文档只描述“证据优先审核”,不公开内部 payload 结构与具体 runbook。

4.3 文档契约

  • 公开文档继续说明 required role 与 deny behavior。
  • 私有文档负责承载 reviewer invite、设备密钥、secret 轮换、恢复与 operator 级流程。
  • 长期方向是“代码声明权限,文档从代码生成或同步”,而不是让 Markdown 成为 auth 真值源。

5. 验收标准

满足以下条件才可视为此阶段完成:

  1. 接口与 WebUI 测试通过,覆盖 reviewer 邀请/设备/会话路径。
  2. 未认证访问特权路径返回 401,已认证但越权返回 403
  3. 上传与已上传资源管理操作对“自己的资源”与“非自己的资源”具有明确 owner-aware 边界。
  4. 公开文档不再暴露 reviewer/admin 的运维流程、secret 处理和恢复手册。
  5. admin -> reviewer 生命周期闭环已在代码、测试与公开接口文档中同步,且敏感运维 SOP 保持私有。

6. 下一阶段重点

  1. 持续保持 owner-aware 覆盖在上传与已上传资源管理路径,不单列新的 Creator 角色。
  2. 把 reviewer 会话失效粒度收敛到设备级。
  3. 逐步转向代码优先的权限声明与文档同步。
  4. 仅在本地模型真正稳定后,再评估外部身份源接入。