权限
Permission Schema 用一组授权规则决定谁能对任务执行某个动作。Task Type 引用权限方案后,运行态的列表、详情和操作都会按当前用户判断权限。
1. 创建权限方案
第一次配置权限时,进入 Data & Permission → Permissions,点击 Import System Default。系统会创建一份应用自己拥有的默认权限方案,并写入一组可编辑的基础授权规则。导入完成后可以通过 Edit 修改 Name 和 Description,再点击 Configure 调整规则。
如果已经通过 New Permission 创建了一个空白方案,也可以进入 Configure,从空状态导入系统默认规则。已有授权规则的方案不能再次导入,避免重复或意外覆盖现有配置。
images/pd-permission-list-01.webp2. 添加授权规则
在配置表格中点击 Add Grant,依次选择:
- Permission Item:要允许的操作。
- Grant Type:授权主体的解析方式。
- Grant Parameter:具体用户、角色或字段等参数。
Permission Item 可能包括 Create Task、View Task、Edit Task、Delete Task、Assign Task、Transition Task、Revoke Task、Suspend Task、Log Work 和 Worklog 相关能力。Grant Type 可能包括 System User、Task Creator、Current Assignee、Specified User、System Role、User Select Field 或 Historical Assignee。
实际候选项由当前系统扩展注册表提供,请以界面为准。
images/pd-permission-add-grant-02.webp3. 采购审批权限矩阵
| Permission Item | Grant Type | 说明 |
|---|---|---|
| Create Task | System User | 允许已登录用户发起采购申请 |
| View Task | Task Creator | 申请人查看自己创建的任务 |
| View Task | Current Assignee | 当前处理人查看待办任务 |
| View Task | Historical Assignee | 已经处理过任务的用户继续查看任务 |
| Transition Task | Current Assignee | 当前处理人执行 Approve、Reject 等流转 |
| Revoke Task | Task Creator | 申请人按工作流规则撤回申请 |
| Log Work | Current Assignee | 允许当前处理人登记工时,不控制任务流转 |
| Edit Task | Task Creator | 可选;仅在业务允许申请人继续编辑时添加 |
Applicant、Department Manager 和 Finance Approver 是案例中的业务身份,不是 Permission Item。Applicant 创建任务后由 Task Creator 识别;Department Manager 或 Finance Approver 被工作流选为处理人后由 Current Assignee 识别。角色负责工作流分配,权限方案负责判断实际用户能否执行动作,两者不要混为一条授权规则。
不要为了方便把 View Task 或 Transition Task 授予所有系统用户。也不要为了表示“高额分支”而把这些权限直接授予 Finance Approver 系统角色;权限方案不负责判断金额条件,分支条件和处理人分配应在 Workflow 中完成。Log Work 只控制工时登记,不代表用户可以执行 Approve 或 Reject。
4. 绑定 Task Type
编辑 PURCHASE,在 Permission Schema 中选择 Purchase Request Permission。只创建权限方案但不绑定 Task Type,不会影响该任务类型。
5. 验证权限
至少使用三个身份测试:
- Applicant:能创建并查看自己的申请,但不能办理他人的待办。
- Department Manager:能查看并办理分配给自己的 Department Review。
- Finance Approver:只在高额分支出现 Finance Review 待办。
同时验证直接打开任务详情 URL。隐藏按钮不能替代服务端权限校验,未授权用户直接请求也必须被拒绝。
6. Filter 与权限的关系
Filter/TQL 只缩小候选结果,不能扩大权限。例如 TQL 匹配全部开放采购申请,用户最终仍只能看到权限允许的记录。排查“列表为空”时应同时检查查询和权限。
7. 常见问题
能看到任务但没有 Approve / Reject 按钮:用户可能只有 View Task,没有 Transition Task;也可能不是 Current Assignee。
申请人看不到自己创建的任务:检查 View Task + Task Creator 授权、任务创建人数据和当前环境的权限版本。
角色授权没有生效:检查用户是否真正属于目标系统角色,以及 Grant Parameter 是否选择了正确角色。