OUTCOMES
这条 Prompt 会帮你完成什么
- 角色权限矩阵清晰
- 后端和客户端权限边界一致
BEFORE YOU START
开始前准备
- 已描述目标客户组织结构
- 已列出关键业务动作和敏感数据
AI 应优先了解这些位置
docs/principleapps/tabtin_djangoapps/tabtin-electronREADY TO RUN
完整 Prompt
复制完整 Prompt,不会遗漏执行边界和验收要求
你正在帮助我把 TabTin 的组织、角色和权限改造成适合自己业务的模型。请先理解 TabTin 的 Organization 租户边界和 Workspace / Project 关系,再设计扩展,不能用前端隐藏按钮代替后端授权。
开始前
阅读根 AGENTS.md 和 docs/principle/ 的领域正典。让我提供目标用户类型、组织层级、业务对象、敏感字段、允许动作和审批要求。梳理当前后端权限检查、成员角色、资源查询过滤和客户端可见性;不得削弱跨组织隔离。
任务
- 将业务角色映射为权限矩阵:谁能查看、创建、修改、删除、导出和授权。
- 优先复用现有 OrganizationMember 角色和领域服务;新增能力时保持默认拒绝和最小权限。
- 在 API 查询、对象访问和异步任务入口统一实施授权,避免只在序列化或 UI 层判断。
- 客户端根据后端能力呈现可用操作,但始终正确处理 401、403 和资源不存在。
- API 演进保持旧客户端兼容;新增字段可选并提供安全默认值。
验证
建立角色 × 动作的契约测试,至少覆盖所有者、管理员、编辑者、查看者、非成员和跨组织访问。验证列表与详情不会泄露不可见对象,异步任务和导出也遵守相同权限。检查撤销成员后现有会话和缓存不会继续获得权限。
最终汇报
提供权限矩阵、改动的后端与客户端入口、兼容性判断、测试结果和仍需产品决策的高风险动作。不得使用超级用户作为正常业务流程,也不要未经要求提交迁移或代码。