Files
Web_BAI_Manage_ApiServer/docs/pb_auth_model.md
XuJiacheng e9fe1165e3 feat: 规范化PocketBase数据库文档与原生API访问
- 将数据库文档拆分为按collection命名的标准文件,统一格式
- 补充tbl_company、tbl_system_dict等表的原生访问规则
- 新增users_tag、document_create等字段
- 优化用户资料更新接口,支持非必填字段
- 添加公司原生API测试脚本
- 归档本次变更至OpenSpec
2026-03-29 16:21:34 +08:00

1.9 KiB
Raw Permalink Blame History

pb_auth_model

来源:script/pocketbase.newpb.js、当前 hooks 权限实现 说明:本文件描述权限模型设计与表间职责,不替代单表结构文档

模型目标

当前项目采用 RBAC + ABAC + 用户覆盖 的混合权限模型:

  • RBAC 负责角色级默认权限
  • ABAC 负责组织、等级、目标表等属性条件
  • 用户覆盖 负责单人例外授权

核心表职责

文档 作用
pb_tbl_auth_users.md 用户身份源与 PocketBase auth 主表
pb_tbl_auth_resources.md 资源目录
pb_tbl_auth_roles.md 角色定义
pb_tbl_auth_role_perms.md 角色权限映射
pb_tbl_auth_user_overrides.md 单用户权限覆盖
pb_tbl_auth_row_scopes.md 行级过滤范围

权限计算路径

  1. tbl_auth_users 读取用户身份、组织、等级和角色。
  2. tbl_auth_role_perms 读取角色默认权限。
  3. tbl_auth_user_overrides 应用用户级覆盖。
  4. tbl_auth_row_scopes 组合行级过滤条件。
  5. 将可原生表达的权限同步到 PocketBase collection rules复杂业务权限仍由 hooks 判断。

当前实现约定

  • 管理后台用户通过 users_idtype = ManagePlatform 与管理角色识别。
  • hooks 页面 /pb/manage/sdk-permission-manage 负责维护角色与 collection CRUD 权限。
  • 用户登录返回的是 PocketBase 原生可验证 token可直接给 PocketBase SDK 使用。