Files
AIOA/docs/engineering/authorization.md
2026-07-18 19:20:07 +08:00

1.1 KiB

数据范围与工具权限

后端以 OA 数据库中的当前用户角色为授权事实来源,不信任 Flutter 传入的角色、租户或数据范围。

数据范围

  • OWN:只能访问当前租户、当前用户自己的申请、附件、通知和 AI 查询上下文。
  • ASSIGNED:只能访问 Flowable 明确分配给当前用户的审批任务。

系统暂不提供全租户申请列表,因此 oa_adminhr_reviewer 也不能绕过流程任务查看任意员工申请。

角色与权限

普通员工 employee 获得本人请假、附件、通知和只读 AI 工具权限。

以下任一角色额外获得已分配审批任务的读取和处理权限:

  • department_manager
  • oa_admin
  • hr_reviewer

GET /api/v1/me 返回服务端计算的 permissionsdataScopes,客户端可据此展示工具;应用服务仍会再次校验权限,客户端隐藏按钮不能替代服务端授权。

权限不足统一返回 HTTP 403 和错误码 PERMISSION_DENIED。对不属于当前用户的数据和任务继续返回 404,避免泄露资源是否存在。