1.1 KiB
1.1 KiB
数据范围与工具权限
后端以 OA 数据库中的当前用户角色为授权事实来源,不信任 Flutter 传入的角色、租户或数据范围。
数据范围
OWN:只能访问当前租户、当前用户自己的申请、附件、通知和 AI 查询上下文。ASSIGNED:只能访问 Flowable 明确分配给当前用户的审批任务。
系统暂不提供全租户申请列表,因此 oa_admin 和 hr_reviewer 也不能绕过流程任务查看任意员工申请。
角色与权限
普通员工 employee 获得本人请假、附件、通知和只读 AI 工具权限。
以下任一角色额外获得已分配审批任务的读取和处理权限:
department_manageroa_adminhr_reviewer
GET /api/v1/me 返回服务端计算的 permissions 和 dataScopes,客户端可据此展示工具;应用服务仍会再次校验权限,客户端隐藏按钮不能替代服务端授权。
权限不足统一返回 HTTP 403 和错误码 PERMISSION_DENIED。对不属于当前用户的数据和任务继续返回 404,避免泄露资源是否存在。