使用JBoss jBPM实现流程访问和执行的授权
2010-05-11 00:00:00 来源:WEB开发网图 1 PVM架构
在流程定义中引入授权
我们在图2中看到,可以给流程定义添加任意属性。利用这种扩展选项,我们现在定义以下流程属性,描述授权策略:
starter-users,具有“starter”角色的用户列表
starter-groups,具有 “starter”角色的组列表
user-users,具有“user”角色的用户列表
user-groups,具 有“user”角色的组列表
每个属性的值是逗号分隔的组/用户id列表。
图 2 流程定义模式
此外,我们还定义了一个特殊的用户类型——“any”和两个用户组——“all”和“admin”。任何用户,不论其真实ID是什么,都是“any”用 户。任何组,不论其ID是什么,也都是“all”。最后,“admin”组的成员被认为是任意组的成员。
流程授权定义由以下规则驱动:
如果user-users和user-groups都未被指定,则user-users=”all”
如果 starter-users和starte-groups都未被指定,则流程用户被额外地分配“starter”角色。
按照这个规则,清单1中的流程可以被任何人启动和使用。
<process package="com.navteq.jbpm"
key="NO_AUTHORIZATION"
name="Test Authorization not required" version="1"
xmlns="http://jbpm.org/4.0/jpdl">
<start g="68,14,48,48" name="start" >
<transition to="end"/>
</start>
<end g="78,383,48,48" name="end"/>
</process>
更多精彩
赞助商链接