jbpm4.4整合自己的用户体系

虽然jbpm4中已经有用户体系,但实际项目中也会有自己的用户体系,我们肯定希望在jbpm4中用我们自己系统的用户体系,那这要怎样整呢,当然jbpm4已经提供了接口,我用一个简单的例子来说下。

jbpm中有分组的概念,但我们系统中也许没有分组,不过角色总该有吧,那我就用角色来当jbpm中的分组好了,具体步骤如下。

1、找到角色实体类,比如类名叫Role,我们让它实现org.jbpm.api.identity.Group接口,这个接口中有几个方法需要实现,其中getId方法我们返回Role的id,getName可以返回Role的name,getType返回"candidate",这里起到作用的也就getId方法,其余返回null也可以。

2、新建类,比如类名叫UserSession,实现org.jbpm.pvm.internal.identity.spi.IdentitySession接口,,这个接口也有一些方法需要实现,先不管怎么实现这些方法,有返回值的给它返回null,没有的就空着吧。然后找到public List<Group> findGroupsByUser(String userId)这个方法,这方法的作用是通过用户ID查询并返回角色列表,那我们就通过传入的用户ID查询到对应的Role呗,之前我们已经让Role实现org.jbpm.api.identity.Group接口了,所以将查到的Role加如List返回即可。

3、编码工作就到这里,接下来在源文件夹新建文件命名为jbpm.identity.cfg.xml,内容如下:<?xml version="1.0" encoding="UTF-8"?><jbpm-configuration> <transaction-context><object class="com.shine.jbpm.UserSession"/> </transaction-context></jbpm-configuration>其中class改成你的UserSession类。 OK,现在在你的jpdl流程xml中的assignee和candidate-groups属性值写系统的用户ID和角色ID即可。

孜孜不倦的追求奋斗,加油。

jbpm4.4整合自己的用户体系

相关文章:

你感兴趣的文章:

标签云: