activiti节点权限控制

Activiti的节点权限控制可以在流程定义中通过配置Candidate User、Candidate Group或者使用JavaDelegate类来实现。

  1. Candidate User 首先,您可以为每个任务节点定义候选用户。这些用户将被授予操作该任务的权限。在Activiti中,Candidate User是指所选用户列表,这些用户成为任务的候选人。只有任务被这些候选人接受之后才能执行该任务。 任务节点的XML设置如下: xml <userTask id="task2" name="Approve"> <extensionElements> <activiti:taskListener event="create" class="org.activiti.engine.impl.bpmn.listener.ScriptTaskListener"> <activiti:field name="script"> <activiti:string> execution.setVariable('candidateUsers', Arrays.asList('Alice', 'Bob', 'Cathy')); </activiti:string> </activiti:field> </activiti:taskListener> </extensionElements> </userTask>
    1. Candidate Group Candidate Group则与Candidate User有些相似,但是它指的是所选组中的所有用户。只有在这个组中的某个用户接受任务后,才能执行该任务。 任务节点的XML设置如下: xml <userTask id="task1" name="User Task" activiti:assignee="${assignee}"> <extensionElements> <activiti:taskListener event="create" class="org.activiti.engine.impl.bpmn.listener.ScriptTaskListener"> <activiti:field name="script"> <activiti:string> execution.setVariable('candidateGroups', Arrays.asList('group1', 'group2', 'group3')); </activiti:string> </activiti:field> </activiti:taskListener> </extensionElements> </userTask>
  2. JavaDelegate 最后,您还可以使用JavaDelegate类动态分配用户或组权限。这种方法需要您编写自己的Java代码来定义候选用户或组。 任务节点的XML设置如下: xml <userTask id="task2" name="Approve" activiti:candidateGroups="#{groupService.getGroups(task)}" > <extensionElements> <activiti:taskListener event="create" class="org.activiti.engine.impl.bpmn.listener.ScriptTaskListener"> <activiti:field name="script"> <activiti:string> execution.setVariable('candidateUsers', customService.getCandidatesForTask(execution.getId())); </activiti:string> </activiti:field> </activiti:taskListener> </extensionElements> </userTask>以上是Activiti的节点权限控制方式,您可以根据需要选择其中一种方式来配置流程定义
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值