# 权限

流程图中有多处可配置权限,包括步骤权限、字段权限、管理权限。

# 步骤权限

流程步骤权限配置指定了哪些人可以执行这个步骤,限定执行人包括限定岗位、限定执行人、限定部门、限定业务、黑名单五个方面。

# 限定岗位

配置了限定岗位后就只有这个岗位里的人才能执行这个步骤,步骤上配置限定岗位必须配置且只能配置一组。

# 限定执行人

限定执行人一般用于流程第二次进入该节点时限定执行人必须是第一次进入该节点时的执行人,以及用表单变量的形式限定执行人(一般这些执行人都会根据业务逻辑从表单上读取或者从数据库读取),直接限定执行人账户的方式相当于白名单,但是出于降低运维成本考虑这种方式不推荐使用。

在前面的结构章节的案例中我们已经配置过首节点限制执行人为该步骤的经手人,这样当审核退回到该节点后只有申请人才有权限执行这个步骤。

# 限定执行人部门

请假流程快速上手的例子里,我们已经将部门审批节点的执行岗位设置为了"案例-部门领导",如果这个岗位是网络信息中心所独有的,那么这么配置不会有问题,但如果部门领导岗位是多个部门的流程都会使用到,那么就需要加上部门限定了。

这里我们将限定执行人部门设置为限定部门代码为"40100"的部门,40100即网络信息中心的部门代码。

这样的限定似乎并不具有灵活性,如果这个请假流程是多个部门所共用的,那么此处限定了网络信息中心的部门领导才能审批就显得不合适了,如果考虑多部门共用,正确的做法是限定部门为步骤"填写请假单"的经手人所在部门。由于申请人所在部门可能并不一定是一个顶级部门,而一般在分级授权系统里设置的如"案例-部门领导"这样的岗位人员都会被配置在顶级部门上,所以这里配置时还需要选上+所有上级部门选项。

# 限定业务类型

有时候岗位限定这个权限颗粒度还不够细,比如请假流程的人事审核节点,如果业务部门主管人事的有A、B两位老师,其中A主管事假、病假、年假的请假,B主管会议和出差的请假,当有不同类型的请假流程到达人事审核节点时,我们希望前三类的请假只给A老师产生待办,后两类请假只给B老师产生待办。如果我们把人事审核岗位也分为A、B两个当然也能解决这个问题,但如果这个流程是多部门共用的,且各部门对于人事审核类型的分类又有所不同,那分多个岗位的解决方式就不适合了,业务分类可以完美解决这个问题。

首先,我们在分级授权系统建立请假类型这个业务,将这个业务建立在一个叫做测试业务大类之下

在统一授权系统配置人事审核岗位支持测试业务大类这个业务

现在我们在分级授权系统将老师配置到岗位并选择业务,我们配置A老师到人事审核岗的事假、病假、年假三个业务类型上,配置B老师到人事审核岗的会议、出差两个业务类型上。

然后在流程图人事审核节点配置限定业务类型如下图

这样不同老师审核不同类型的请假的需求就完全得到了满足,而且规则可以任意组合,比如另一个部门有三位主管人事的老师,其中A管事假,B管除了事假以为所有请假,C管所有类型,这在分级授权上也是很容易配置的。

以上配置中只有配置岗位支持哪个业务需要在统一授权系统中,其它都在分级授权系统或者工作流编辑器中,所以开发过程中您可能需要唯一联系管理员的就是申请岗位支持业务这件事。

download 流程链接

# 执行人黑名单

黑名单应该很好理解,黑名单上的人即使在执行人岗位上也不能执行该节点,不再举例说明。

# 字段权限

步骤上的字段权限配置只会列出该步骤显示模板中包含的字段,不在显示模板中的字段无访问权限。

具体的权限含义请参考文档,需要明确的一点是此处的权限配置限制的是前端渲染以及前端往后端传输数据时(例如提交、存盘等),Messenger对表单的数据处理不受此限制,另外打印、导出、已办页的打开都是只读不受此配置限制。

流程开发中一般对填表步骤都会放开字段读写权限以及重复节表增删权限,对于审核步骤除了需要填内容的字段放开写权限,其它都可以只读,对于一些控制流程判断的字段只要这些字段不是在填表页面里用户输入的(可以在Messenger事件里赋值,也可以在动作连线的执行脚本里赋值)那么可以不配置读写权限也不会影响到这些控制字段的使用。

在前文并行结构的例子里,我们判断了一个人事是否通过的字段fieldHrPass,这个字段是在人事审核节点后的同意或者不同意动作上的执行脚本中赋值的,那么其实这个字段不必配置任何权限也能正常工作。

download 流程链接

# 管理权限

管理权限配置指为了让业务部门的管理老师在Dashbaord里访问并管理流程数据而配置的权限

配置的方式和步骤权限类似,除了没有了业务限定,其它都和步骤权限限定一样,但是可以配置多组岗位。Dashboard里操作权限及配置详情参考这里

download 流程链接