Fago 文档 Fago 文档
首页
快速开始
后端手册
前端手册
规划备查
文档维护
首页
快速开始
后端手册
前端手册
规划备查
文档维护
  • 快速开始

    • 简介
    • 功能列表
    • 快速启动(后端)
    • 快速启动(前端)
    • 技术选型
    • 项目结构
    • 接口与错误码
  • 后端手册

    • 配置与环境
    • 登录与会话
    • 功能权限与菜单
    • 数据权限
    • 用户、部门、岗位与角色
    • 租户与安全策略
    • 异常处理与错误码
    • 参数、分页与响应
    • 数据库迁移
    • 日志、脱敏与请求加密
    • 平台租户与套餐
    • fago-cli 常用命令
    • 发布验证与恢复演练
    • 字典与参数配置
    • 文件与对象存储
    • 站内通知与执行恢复
    • 定时任务与运行恢复
    • 可靠消息后端与积压观测
    • 身份客户端与设备会话
    • 会员认证与账号管理
    • 服务账号与 scope
    • OIDC 提供方与外部绑定
    • 原生 SSO 验收客户端
    • 账号认证模式
    • 工作流 API 与运行目录
  • 前端手册

    • 本地启动
    • 菜单与路由
    • 请求合同
    • 页面与按钮权限
    • 浏览器单点登录
    • 审批中心与表单发起
    • 工作流定义与运行管理
  • 规划备查

    • Fago:架构与实施方案
    • 总体架构
    • 身份、权限与租户设计
    • Vben 5 前端与 API 合同
    • 数据库与消息后端适配
    • 纯 Go 通用工作流:文件、文档与业务流程
    • 核心数据模型
    • 分期、工作包与验收
    • 架构决策与风险
    • 参考来源与基线
    • 网络安全等级保护二级合规要求
    • M0 实施与验收
    • M1 身份与导航实施及验收
    • 项目配置、API 内容加密与敏感数据脱敏
    • M2 系统管理实施记录
    • M3 平台与 SaaS 实施记录
    • fago-cli 功能规划
    • 生产传输层 WARN 变更范围(2026-10-23)
    • M4 发布实施与验收
    • M4 加固检查归档(本地工程环境)
    • M5 通用平台与身份实施
    • M6 R3.1 正式工作流核心与基础审批

数据权限

# 数据权限

数据范围挂在「角色 + 具体权限」上,不是给整个用户一个全局范围。一个用户有多个角色时,同一权限的范围取并集。

范围 可见数据
SELF 本人
DEPT 请求当时有效的本部门,不含下级;没有部门则为空
DEPT_AND_CHILDREN 请求当时有效本部门及全部下级;没有部门则为空,部门移动后重新计算
CUSTOM_DEPTS 角色显式选中的有效本租户部门;不隐含本人或下级,空选择范围为空
ALL 当前租户内该权限允许的数据,不含其他租户

只拥有 SELF 读取的角色,不能和另一个只有 ALL 写入的角色拼成 ALL 读取。范围外的 ID 按不存在处理,返回 404001,避免泄露记录是否存在。

用户列表、计数、详情、写入和关联查询使用同一套租户与数据范围条件。修改部门时同时检查旧记录和新部门。SELF 用户不能通过给自己换部门来扩大 DEPT 范围。

操作日志和登录日志各自计算范围:SELF 只看本人事件,DEPT 按主体当前有效部门,ALL 仍限于本租户。两个日志权限不能互相拼成更大范围。

平台身份没有租户业务数据通道。跨租户 ID 不能通过请求字段指定。

在「角色管理 → 授权」选择范围。自选部门可选择多个节点,最多 1000 个;只有租户管理员在输入本人当前密码并通过版本检查后才能保存。完整树仍限制为 10000 节点、64 层。部门被角色引用时须先解除选择再删除;重建同名部门不会继承旧授权。

客户端提交 CUSTOM_DEPTS 必须明确给出 departmentIds 数组:[] 表示清空,漏传或 null 拒绝为 400002。其他范围的数组必须为空,旧客户端可省略。跨租户、已删除或不存在的部门统一返回 404001,整批授权保持原状;旧版本返回 409001,应重新读取表单后再提交。

用户创建必须位于该创建权限允许的部门集合;修改先验证旧记录,再校验目标部门。历史日志按主体当前有效部门计算范围;角色授予的操作日志范围不能扩大另一个角色的登录日志权限。授权关系、版本和审计同事务提交,部门移动后开始的新请求使用新树。

此扩展已接入用户及审计模块;其他业务资源必须各自声明归属规则并接入校验,不会因新增范围枚举自动获得支持。实施证据见 M5 实施记录。

保存角色数据范围时,CUSTOM_DEPTS 必须带 departmentIds(空数组表示清空):

{
  "dataScope": "CUSTOM_DEPTS",
  "departmentIds": ["10", "11"],
  "version": 2,
  "operatorPassword": "<操作者提供>"
}

漏传 departmentIds 或对其他范围传入非空数组时返回 400002。

最后更新: 2026/10/28 10:34:52
功能权限与菜单
用户、部门、岗位与角色

← 功能权限与菜单 用户、部门、岗位与角色→

Theme by Vdoing | Copyright © 2026-2026 Fago 项目文档
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式