身份权限配置
身份权限配置是 Chameleon 平台的核心安全机制之一,用于控制不同角色(身份)对系统功能和数据 的访问权限。本文档介绍权限系统的功能设计和权限类型映射关系。
概述
权限系统采用分层级、分类管理的方式设计,具有以下特点:
- 分类清晰:将权限分为数据操作、接口调用、功能按钮三大类,便于管理和配置
- 类型唯一:每种权限类型都有唯一的数字标识,确保权限配置的准确性
- 易于理解:通过树形结构展示权限层级关系,直观易懂
- 灵活配置:支持针对不同身份独立配置各类权限
权限配置界面
在身份配置的功能权限模块中,您可以通过分段切换器在以下三种权限类型之间切换:
- 数据操作权限 - 控制对实体数据的增删改查操作
- 接口权限 - 控制对平台接口的访问权限
- 功能按钮权限 - 控制界面中功能按钮的显示和使用
权限类型分类
1. 数据操作权限
控制用户对实体数据的基本操作能力。当用户尝试新增、编辑或删除数据时,系统会检查其是否拥有对应的数据操作权限;查询权限是数据访问的前置条件,用户必须先具备某实体的查询权限,才能访问该实体的数据(列表查询、详情查询、计数、聚合等),在此之后系统才会进一步按 MOU 数据权限过滤数据范围。
本页的数据操作权限属于功能权限层面,回答的是「这个身份能不能做某个操作」;而行级数据权限(也称对象数据权限、行级过滤、权限过滤)回答的是「同一条数据哪些人能看、能改」,两者叠加生效。行级数据权限的配置见 MOU 数据权限。
| 操作类型 | 数字标识 | 说明 | 典型应用场景 |
|---|---|---|---|
| 查询数据 | 15 | 允许查看实体数据,是数据访问的前置条件 | 列表查询、详情查看、计数统计、聚合分析 |
| 新增数据 | 9 | 允许创建新的数据记录 | 通过表单添加新数据、导入数据 |
| 编辑数据 | 10 | 允许修改已有的数据记录 | 修改表单数据、批量更新 |
| 删除数据 | 11 | 允许删除数据记录 | 删除单条数据、批量删除 |
示例:如果您希望某角色能够管理员工信息,需要为其配置对应员工对象的查询(15)、新增(9)、编辑(10)和删除(11)权限。其中查询(15)必须配置,否则即使配置了新增/编辑/删除也无法访问员工数据。
2. 接口权限
控制用户对平台接口的调用权限。当业务流程中涉及接口调用时,系统会校验当前用户是否具有该接口的访问权限。
| 接口类型 | 数字标识 | 说明 | 典型应用场景 |
|---|---|---|---|
| 平台接口 | 13 | 具体的平台接口访问权限 | 工作流中的接口节点、数据查询接口 |
示例:如果某个审批流程需要调用外部数据接口获取信息,相关角色需要拥有该接口(13)的访问权限。
3. 功能按钮权限
控制用户在界面中看到和使用的功能按钮。根据按钮在界面中的位置和用途,分为三种类型:
| 按钮类型 | 数字标识 | 显示位置 | 典型按钮示例 | 应用场景 |
|---|---|---|---|---|
| 视图列表按钮 | 5 | 视 图列表顶部工具栏或功能区 | 导出Excel、打印、自定义查询 | 需要在视图列表级别提供的全局操作 |
| 列表行按钮 | 6 | 列表每行的操作列 | 编辑行、查看详情、删除行 | 针对单条数据的操作 |
| 批量操作按钮 | 7 | 列表顶部的批量操作区域 | 批量审批、批量修改状态、批量删除 | 针对多条数据的批量处理 |
示例:
- 如果您希望某角色能够导出数据但不允许删除,可以只配置"导出"按钮的视图列表按钮权限(5),而不配置删除相关的列表行按钮权限(6)
- 如果希望限制普通用户只能操作自己的数据,可以不为其配置批量操作按钮权限(7)
完整权限类型对照表
以下是系统中所有权限类型的完整映射关系,便于在排查问题时快速查阅:
元数据结构类型(用于树形组织)
这些类型主要用于权限树的层级组织,帮助您理解权限的结构关系:
| 类型名称 | 数字标识 | 说明 |
|---|---|---|
| 应用 | 1 | 应用的根节点,包含该应用下的所有实体对象 |
| 实体对象 | 2 | 具体的实体对象(如员 工信息、部门管理等),是数据操作权限的载体 |
| 视图列表 | 3 | 具体的视图列表页面(如员工列表、部门列表等),是按钮权限的载体 |
| 表单 | 4 | 具体的表单页面(预留扩展) |
数据操作权限
| 操作类型 | 数字标识 | 业务含义 | 影响范围 |
|---|---|---|---|
| 查询数据 | 15 | 查看记录,数据访问的前置条件 | 列表查询、详情查看、计数统计、聚合分析 |
| 新增数据 | 9 | 创建新记录 | 表单提交、数据导入 |
| 编辑数据 | 10 | 修改已有记录 | 表单编辑、批量更新 |
| 删除数据 | 11 | 移除记录 | 单条删除、批量删除 |
功能按钮权限
| 按钮位置 | 数字标识 | 按钮特征 | 配置建议 |
|---|---|---|---|
| 视图列表工具栏 | 5 | 全局性操作,与具体数据行无关 | 导出、打印、高级筛选等通用功能 |
| 行操作列 | 6 | 针对单条数据的操作 | 编辑、查看、删除等单记录操作 |
| 批量操作区 | 7 | 针对多选数据的操作 | 批量审批、批量修改、批量删除等 |
接口权限
| 类型 | 数字标识 | 使用场景 |
|---|---|---|
| 平台接口 | 13 | 工作流接口节点、数据源接口 |
权限配置最佳实践
按角色最小化授权原则
根据角色的实际工作需求,仅授予必要的权限:
管理员角色:
- ✅ 所有数据操作权限(查询/新增/编辑/删除)
- ✅ 所有的视图列表按钮权限(导出、打印等)
- ✅ 批量操作按钮权限
- ✅ 相关接口权限
普通用户角色:
- ✅ 授予查询权限(15),保证能正常查看数据
- ⚠️ 仅授予编辑权限(10),不授予删除权限(11)
- ⚠️ 不授予批量操作权限(7)
- ⚠️ 根据工作需要选择性授予视图列表按钮权限(5)
只读角色:
- ✅ 仅授予查询权限(15),用于查看数据
- ❌ 不授予新增/编辑/删除权限
- ✅ 可以授予导出按钮权限(5)以便导出数据
按业务流程配置
根据实际业务流程配置权限组合:
数据录入场景:
- 必需:查询权限(15)(访问实体数据的前提)
- 必需:新增权限(9)
- 可选:编辑权限(10)(如果录入后允许修改)
数据审核场景:
- 必需:查询权限(15)(查看待审核数据)
- 必需:编辑权限(10)
- 推荐:列表行按钮权限(6)(用于查看详情)
- 可选:批量操作权限(7)(用于批量审批)
数据分析场景:
- 必需:查询权限(15)(读取分析数据)
- 必需:视图列表按钮权限(5)(用于导出数据)
常见问题排查
问题1:配置了权限但无法执行操作
可能原因及解决方案:
-
权限类型不匹配
- 症状:点击保存按钮无反应或提示无权限
- 解决:确认已配置对应的操作类型(查询=15,新增=9,编辑=10,删除=11)
-
权限对象错误
- 症状:某些实体可以操作,某些不可以
- 解决:检查是否为正确的实体对象配置了权限
-
身份未生效
- 症状:刚配置完权限,用户反馈仍无权限
- 解决:确认用户已重新登录或刷新页面
问题2:按钮不显示或不可点击
可能原因及解决方案:
-
未配置按钮权限
- 症状:其他用户能看到某个按钮,当前用户看不到
- 解决:在功能按钮权限中勾选对应按钮
-
按钮类型混淆
- 症状:配置了按钮权限但仍不显示
- 解决:确认按钮的实际类型(视图列表按钮=5,行按钮=6,批量按钮=7)
-
视图列表未关联
- 症状:配置了权限但在特定视图列表看不到
- 解决:确认是在正确的视图列表下配置的按钮权限
问题3:导入/导出功能报错
可能原因及解决方案:
-
导入报无权限
- 要求:导入操作同时需要新增权限(9)和 编辑权限(10)
- 解决:确保同时配置了这两个权限
-
导出报无权限
- 要求:导出功能需要视图列表按钮权限(5)
- 解决:在功能按钮权限中找到"导出"按钮并配置
-
批量操作报无权限
- 要求:批量操作需要批量按钮权限(7)
- 解决:确认已配置批量操作区域的按钮权限
问题4:接口调用失败
可能原因及解决方案:
-
缺少接口权限
- 症状:工作流执行到接口节点时报错
- 解决:在接口权限中配置对应的平台接口(13)
-
接口参数问题
- 症状:有权限但调用失败
- 解决:联系管理员检查接口配置和数据格式
问题5:无法查询数据或提示无查询权限
可能原因及解决方案:
-
缺少查询权限
- 症状:访问列表、详情或报表时提示无权限,或数据查询为空
- 解决:在数据操作权限中为对应实体勾选"查询"权限(15)
-
已配置新增/编辑/删除但未配置查询
- 症状:身份配置了新增(9)/编辑(10)/删除(11),但仍无法查看数据
- 解决:查询权限是数据访问的前置条件,需同时为该实体勾选"查询"权限(15)
-
查询权限升级后未同步(历史身份)
- 症状:查询权限功能上线后,部分身份突然无法查询数据
- 解决:查询权限为新增的必校验权限。升级前已配置过新增/编辑/删除的身份需要补充勾选"查询"权限,或使用系统工具"Profile Object Query Permission Grant Tool"为已具备数据操作权限的身份批量补齐查询权限
权限配置技巧
快速定位权限项
在权限配置树中使用搜索功能:
- 按标题搜索:输入功能名称(如"员工"、"审批")
- 按ID搜索:输入具体的ID(适用于精确查找)
批量配置同类型权限
- 展开某个应用或实体对象的节点
- 勾选父节点可自动选中所有子权限
- 取消父节点可批量移除所有子权限
权限继承说明
- 身份之间的权限是独立的,不存在继承关系
- 一个用户可以拥有多个身份,权限取并集
- 菜单权限和功能权限是分开配置的,需要分别设置
权限值速查卡
为了方便日常运维和问题排查,以下是常用权限值的快速参考:
数据操作(最常使用)
| 您想控制的操作 | 配置数字 | 在哪里配置 |
|---|---|---|
| 让用户能查看数据 | 15 | 数据操作权限 → 选择实体 → 勾选"查询" |
| 让用户能添加数据 | 9 | 数据操作权限 → 选择实体 → 勾选"新增" |
| 让用户能修改数据 | 10 | 数据操作权限 → 选择实体 → 勾选"编辑" |
| 让用户能删除数据 | 11 | 数据操作权限 → 选择实体 → 勾选"删除" |
功 能按钮(按位置区分)
| 按钮在哪里出现 | 配置数字 | 典型例子 |
|---|---|---|
| 视图列表顶部工具栏 | 5 | 导出、打印、新建 |
| 列表的每行后面 | 6 | 编辑、查看、删除 |
| 列表顶部批量区 | 7 | 批量审批、批量修改 |
接口权限
| 场景 | 配置数字 | 说明 |
|---|---|---|
| 调用平台接口 | 13 | 工作流中的接口节点 |
💡 提示:在遇到权限问题时,可以随时回到本文档查阅此速查卡,快速确定需要的权限值。