用途:为集成多租户 SaaS 后端的 iOS 应用提供可复用的 RBAC 权限方案,避免零散建议,给出有约束的工作流与判断规则。
主要能力:采用客户端加服务端的混合模式。后端由 PermissionMiddleware 强制校验每次 API 调用,拒绝时返回 403;客户端缓存权限以控制按钮、标签页和界面的可见性。权限为约 20 至 50 个字符串码的扁平集合,存储于 Keychain(键包括 user_permissions、user_modules、user_roles、user_type、permissions_updated),不使用 UserDefaults。后端按五级优先级解析权限:用户拒绝、用户授予、特许经营覆盖、角色权限、超级管理员或所有者;iOS 客户端不做本地解析,直接使用 GET /user/permissions 返回的结果。采用两层门控:模块门控隐藏 TabView 标签,权限门控禁用或隐藏单个操作。刷新策略为登录后、拉取刷新、后端返回 403 时立即获取,冷启动与前台唤醒时若超过 15 分钟则获取,可用 ScenePhase 检测。离线时使用最后已知良好权限,若无缓存则全部拒绝,不给予超出上次同步的权限。默认失败安全。
使用方式:先阅读 SKILL.md,再按需加载 references/ 下的深入文件,按有序指引、检查清单和决策规则执行,输出需明确假设、风险与后续工作。交付物可为设计、代码、评审、迁移计划、审计或文档,例如权限矩阵与测试计划文档。
适用场景:需要可复用判断、领域约束或成熟工作流的 iOS 权限任务。若任务与 ios-rbac 无关,或只需简单答案,则不适用。后端环境含开发、预发与生产,权限 API 行为需一致,可用 Xcode 构建配置和方案区分基础 URL。
限制:具体实现细节、代码样例与配套技能位于 references/skill-deep-dive.md;本文未提供具体版本要求、价格或效果数据。