jbpm4.4中对人员组织权限有一个简单模型:
用户-组-用户组关系;
这个模型中设计了三张数据表,分别为:JBPM4_ID_USER、JBPM4_ID_GROUP、JBPM4_ID_MEMBERSHIP;
而这样简单权限模型往往很难满足客户需求,例如:这段时间公司就想开发一个专门的人员组织机构系统。
我们现在就在研究怎样将复杂的人员组织权限模型嵌入到jbpm中?
jbpm针对人员组织权限的维护提供了一套的接口:IdentitySession,Group,User,如果你的人员组织机构不需要工作流系统来维护的话,你可以完全拼弃这些接口。但是如果你需要工作流系统来维护人员组织机构的话就需要对这些接口进行实现或者扩展。我们选择完全弃用。
人员组织权限的维护完成以后我们怎么在任务节点中获取和分配人员的话就需要实现AssignmentHandler接口,并对任务节点进行配置,如下:
<task name="review" g="96,16,127,52">
<assignment-handler
class="org.jbpm.examples.task.assignmenthandler.AssignSessionHandler">
<field name="assignee">
<string value="u0001" />
</field>
</assignment-handler>
<transition to="wait" />
</task>
如果上面的描述都不能满足你的要求就需要修改源码文件了org.jbpm.pvm.internal.mode.ExecutionImpl
中的
initializeAssignments
resolveAssignmentExpression
方法