跳转正文

权限与运行上下文 ​

前端根据当前授权显示入口、禁用动作或给出提示,后端负责授权和租户隔离。隐藏按钮不能替代 API 的安全检查。

先确认事实来源 ​

事实正式来源页面怎么使用
Permission / Feature 定义后端 Provider 与能力目录使用正式 key,不手写另一份定义
当前主体的授权和 Feature 值Application Configuration / 会话按正式类型判断当前可用能力
当前用户、租户和语言当前平台会话作为请求、任务和缓存范围
页面、路由、菜单、动作前端宿主引用平台能力,不创造后端权限
API、DTO、输入校验后端与 OpenAPI通过 generated edge 消费

当前 Nuxt UI Host 从 @yoyoboot/yoyo-admin-core 正式入口取得平台合同,shared/abp 组合实际传输与配置。Starter 的模拟身份只能验证交互,不证明真实授权。

开发步骤 ​

  1. 从业务模块和后端合同确认 Permission、Feature、Host-only / Tenant-only 限制。
  2. 使用当前 Host 的 Session 与权限入口,不复制旧 application store 或建立页面级授权事实。
  3. 保持菜单、直接 URL、最近访问和动作的可访问结果一致;未知 key 或缺失关键配置时不擅自放行。
  4. API 调用仍由后端检查权限。请求失败时按实际错误恢复,不补权限、不切换身份、不回退演示数据。
  5. 查询、编辑任务和缓存绑定当前身份/租户;上下文失效后旧响应与草稿不能进入新任务。

区分失败类型 ​

情况恢复方式
401 / 会话失效进入平台认证失效流程,不能无限重试
403 / 已认证但无权限保留会话,显示受控拒绝,不伪装成空列表
404 / 当前范围不存在按资源不存在处理,不扩大 scope 查找
409 / 冲突保留输入,提供重新读取或业务恢复入口
字段错误回填到任务表单并保留草稿
写入成功、回读失败明确已有保存事实,只重试读取

Permission 存在与当前主体获得它是两件事。Feature 与 Permission 都被要求时必须同时满足;业务数据、运行配置和页面身份不能互相代替。

继续阅读 ​

仓库内的访问契约由 02-架构/01-平台与运行时/权限功能与运行时上下文.md 维护;本页只说明业务开发中的使用方式。

YoyoBoot · 从真实项目走向可复用能力