使用JBoss jBPM实现流程访问和执行的授权 - 编程入门网
查看和管理运行中流程执行(execution)的方 法。
管理服务,提供一组查看和管理工作(job)的方法 任务服务,提供一组查看和管理用户任务(task)的方法。 历史服务,提供一组访问运行中和已完成流程执行的历史信息的方法。 这组可用服务和实现这些服务的类(使用前面说的绑定)被配置成流程引擎的上下文。 服务执行被实现成一组命令(command),它们作为服务方法执行的一部分被调用。命令的实际执行由 命令服务控制。 命令服务在命令服务上下文中被配置成一组拦截器,实现横切关注点,环绕(around)命令调用(命 令执行管线)。缺省的jBPM分发包在命令执行管线中 携带了以下拦截器: 重试(Retry)拦截器负责重试命令执行 环境(Environment)拦截器负责在必要时把jBPM上下文注入命 令执行中 事务(Transaction)拦截器负责介入命令调用的事务边界划分。 拦截器是将jBPM移植到不同环境以及引入其他横切关注点的核心机制。 命令执行一般会利用环境,它也是可配置的。典型的环境组件有: 仓储会话 DB会话 消息会话 定时器会话 历史会话 邮件会话 可以添加其他会话来扩展PVM的功能。 使用JBoss jBPM实现流程访问和执行的授权(3)时间:2011-08-09 infoq 译:胡键最后,部署管理器配置允许指定一组部署器,它们依次执行,把业务流程部署到PVM。这种方法使得扩 展流程定义可以通过实现额外的部署步骤完成,无需覆盖 jBPM分发包自带的部署器。 整个PVM的架构如图1示: 图 1 PVM架构 在流程定义中引入授权 我们在图2中看到,可以给流程定义添加任意属性。利用这种扩展选项,我们现在定义以下流程属性, 描述授权策略: starter-users,具有“starter”角色的用户列表 starter-groups,具有 “starter”角色的组列表 user-users,具有“user”角色的用户列表 user-groups,具 有“user”角色的组列表 每个属性的值是逗号分隔的组/用户id列表。 图 2 流程定义模式 使用JBoss jBPM实现流程访问和执行的授权(4)时间:2011-08-09 infoq 译:胡键此外,我们还定义了一个特殊的用户类型——“any”和两个用户组——“all”和“admin”。任何用 户,不论其真实ID是什么,都是“any”用 户。任何组,不论其ID是什么,也都是“all”。最后, “admin”组的成员被认为是任意组的成员。 流程授权定义由以下规则驱动: 如果user-users和user-groups都未被指定,则user-users=”all” 如果 starter-users和starte-groups都未被指定,则流程用户被额外地分配“starter”角色。 按照这个规则,清单1中的流程可以被任何人启动和使用。
清单 1 没有授权信息的流程定义 清单2的流程可以被mark或tomcat组中的任何人使用和启动。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |