在 Camunda BPM 中设置流程定义的授权

Posted

技术标签:

【中文标题】在 Camunda BPM 中设置流程定义的授权【英文标题】:Set an Authorization on process definitions in Camunda BPM 【发布时间】:2015-02-20 08:02:26 【问题描述】:

目前,我们将 Camunda BPM 评估为可能的开源 BPM 框架。一个重要的用例是我们需要管理允许哪个用户查看和启动 Camunda 任务列表中的哪个进程。根据官方文档:http://docs.camunda.org/latest/guides/user-guide/#process-engine-authorization-service 和这里的帖子:https://groups.google.com/forum/#!topic/camunda-bpm-users/EjY8sxycNAQ

无法在流程定义上定义访问权限。问题是,该帖子自去年以来没有更新。

因此,是否可以在流程定义上定义授权?

最好的问候 本

【问题讨论】:

【参考方案1】:

您可以在流程定义上定义一个可能的启动组,虽然不是通过建模器而是直接通过 xml:

 <bpmn2:process id="..." name="..." isExecutable="true">
    <bpmn2:extensionElements>
      <activiti:potentialStarter><![CDATA[
            ]]><resourceAssignmentExpression><![CDATA[
                ]]><formalExpression>group(YOUR_PROCESS_STARTER_GROUP)    </formalExpression><![CDATA[
            ]]></resourceAssignmentExpression><![CDATA[
        ]]></activiti:potentialStarter>
    </bpmn2:extensionElements>
    ...

然后通过API查询:

repositoryService.createProcessDefinitionQuery().startableByUser(userId).latestVersion().list();

注意:我们没有使用 camunda 任务列表,我们自己编写。所以我不知道这是否会开箱即用。

【讨论】:

只是出于好奇:接受这个答案是否意味着该解决方案也适用于 camunda 任务列表?

以上是关于在 Camunda BPM 中设置流程定义的授权的主要内容,如果未能解决你的问题,请参考以下文章

BPM工作流引擎常见的术语和概念介绍

Camunda 创建 流程图回调

Camunda 创建 流程图回调

[4]深入浅出工作开源框架Camunda: 开启工作流的授权功能

FlowPortal BPM多汇报线的设置及使用

Camunda 与 camunda-bpm-camel 社区版的集成删除了路由之间的交换属性集