如何理解流程当中的权限?

type
status
date
slug
summary
tags
category
icon
password
➡️
在设计 PaaS 应用端的权限管理模块和审批流程模块时,都遇到了页面权限相关的问题,遂研究了一下这里的交叉点,记录下学习结果。

定义

表单权限:

  • 静态的、基础的权限控制
  • 定义用户对整个表单的基本操作权限
  • 例如:某人是否能查看这类表单、是否能新建记录、是否能编辑所有字段等
  • 权限是全局性的,不随具体业务流程的节点变化
  • 通常在系统配置或角色管理中设置

流程权限:

  • 动态的、随流程相关的权限控制
  • 定义用户在特定流程节点的操作权限
    • 例如:在工艺单流程中,设计师只能在首个节点编辑设计相关字段,后续节点仅能查看
  • 权限会随着流程推进而变化,同一个用户在不同节点可能有不同的权限
  • 通常在流程设计器中配置

案例说明

📖
假设有一个采购申请流程:
  1. 采购专业 A 有采购申请表的"编辑"权限
  1. 但在流程中:
      • 他能在申请节点填写所有信息
      • 到了审批节点,即使他有表单编辑权限,也无法修改已提交的内容
      • 如果被驳回到申请节点,他又重新获得编辑权限

总结

所以,上述两种权限是相辅相成的:
  • 表单(模块)权限是基础门槛,决定用户能否接触这类业务
  • 流程权限是运行时控制,确保业务规范有序进行
  • 实际操作权限 = min(表单权限,当前节点流程权限)
 

脑洞

如果一个用户没有 a 表单的阅读权限,那能否在流程设计中将他添加进来作为一个编辑节点呢?
用户必须先具备表单的基础阅读权限,才能被加入到这个表单相关的流程节点中。原因是:
  1. 权限的基础性
  • 表单权限是最基础的权限控制层
  • 如果连查看权限都没有,用户根本无法打开或访问该表单
  • 这会导致即使被加入流程节点,也无法执行任何操作
  1. 系统逻辑
  • 通常 PaaS 系统在流程设计时会进行权限校验
  • 设计流程时,系统应该会禁止或警告添加没有表单基础权限的用户
  • 如果强行添加,可能导致流程异常或中断
  1. 正确的配置顺序
  • 先在表单权限管理中赋予用户基础的查看权限
  • 然后再将用户添加到流程节点中
  • 最后在流程节点中配置具体的操作权限
所以在实际过程中如何真遇到我假设的场景,还是要建议客户:如需某用户参与流程,应该先确保其具备表单的基础查看权限。
Loading...

© 一个产品经理 2017-2025