使用JBoss jBPM实现流程访问和执行的授权 - 编程入门网
s="tomcat">
<start g="68,14,48,48" name="start" >
<transition to="end"/>
</start>
<end g="78,383,48,48" name="end"/>
</process>
清单 2 具有用户授权信息的流程定义 我们引入了一个新类——ACL,针对给定流程 (processDefinitionID,processDefinitionKey, DeploymentID),它包含一个单独的访问列表(用户或 组,以及类型);同时还引入了相应的Hibernate 定义。 图3中,清单1的流程部署为具有两个角色(“user”和“starter”)的用户“any”创建了2个ACL; 而在图4中,清单2的流程部署将创建4 个——用户“mark”和组“tomcat”,每个都具有2个角色: “user”和“starter”。 图 3 无授权信息的流程的ACL 图 4 有用户授权信息的流程的ACL 这些ACL的生成是通过引入额外的部署器完成的,它将在“标准”jBPM部署器之后运行,抽取上面描述 的授权属性,为给定流程构建ACL。 使用JBoss jBPM实现流程访问和执行的授权(5)时间:2011-08-09 infoq 译:胡键保护jBPM命令 我们采用了一种通用的方法来保护jBPM命令,包括实现用于定义命令所需授权信息的自定义的注解, 以及处理这个注解的自定义的授权会话(命令******)实现。 授权注解(清单3)可以指定所需的用户角色和表示某个流程的方法。
清单 3 授权注解 对于某个流程,用户角色——“starter”或“user”——指向某个用户应该拥有的角色。由于不同命 令既可以引用部署ID,也可以引用流程ID或者流程键值,因此注解支持多种指定键值的方式,允许将合适 的引用指定为键值。 清单4的授权******检查是否有命令的方法被授权注解修饰。如果有,则执行适当的查询,确定出哪些 用户和用户组集合被授权给了这个命令,然后检查当前用户是 否属于他们。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |