`

spring+jbpm4中扩展使用自己系统中的用户角色

阅读更多
扩展流程中的角色与用户为自己系统中的用户及角色。
AppUser实体需要扩展org.jbpm.api.identity.User接口
AppRole实体需要扩展org.jbpm.api.identity.Group接口

实现自己系统中的IdentityService接口

如写一个类(UserSession)实现org.jbpm.pvm.internal.identity.spi.IdentitySession这个接口。
Java代码
public class UserSession implements IdentitySession{  
        //仅需要扩展以下方法即可   
 
         //---------------------------------methods above are not need overwrite--------------------------------------------  
 
    @Override 
 
    public Group findGroupById(String groupId) {  
 
       // TODO Auto-generated method stub  
 
       return null;  
 
    }  
 
    @Override 
    public List<Group> findGroupsByUser(String arg0) {  
      // TODO Auto-generated method stub  
 
       return null;  
    }  

    @Override 
    public List<Group> findGroupsByUserAndGroupType(String arg0, String arg1) {  
 
       // TODO Auto-generated method stub   
       return null;  
    }    
 
    @Override  
    public User findUserById(String arg0) {   
       // TODO Auto-generated method stub   
       return null;  
    }  
 
   
 
    @Override 
    public List<User> findUsers() {  
       // TODO Auto-generated method stub  
 
      return null;  
    }  
  
    @Override  
    public List<User> findUsersByGroup(String arg0) {   
      // TODO Auto-generated method stub    
       return null;   
    }  
 
    @Override 
    public List<User> findUsersById(String... arg0) {  
       // TODO Auto-generated method stub  
       return null;  
 
   }  
 


public class UserSession implements IdentitySession{

        //仅需要扩展以下方法即可

         //---------------------------------methods above are not need overwrite--------------------------------------------

    @Override
    public Group findGroupById(String groupId) {

       // TODO Auto-generated method stub
       return null;

    }

    @Override
    public List<Group> findGroupsByUser(String arg0) {

       // TODO Auto-generated method stub
       return null;
    }

    @Override
    public List<Group> findGroupsByUserAndGroupType(String arg0, String arg1) {

       // TODO Auto-generated method stub
       return null;
    }

    @Override
    public User findUserById(String arg0) {
       // TODO Auto-generated method stub
       return null;
    }

    @Override
    public List<User> findUsers() {
       // TODO Auto-generated method stub
       return null;
    }

    @Override
    public List<User> findUsersByGroup(String arg0) {
       // TODO Auto-generated method stub
       return null;
    }

    @Override
    public List<User> findUsersById(String... arg0) {
       // TODO Auto-generated method stub
       return null;
   }

}
 

加入用户及组的系统扩展实现配置。
Jbpm.identity.cfg.xml

Java代码  
 
<?xml version="1.0" encoding="UTF-8"?>      
<jbpm-configuration>   
<transaction-context>   
     <object class="com.htsoft.core.jbpm.UserSession"/>    
  </transaction-context>   
</jbpm-configuration> 

<?xml version="1.0" encoding="UTF-8"?>

<jbpm-configuration>
  <transaction-context>
     <object class="com.htsoft.core.jbpm.UserSession"/>
  </transaction-context>
</jbpm-configuration> 


配置Jbpm.xml的Spring配置文件

Java代码
<?xml version="1.0" encoding="UTF-8"?>   
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation=" http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"   
    default-lazy-init="true">   
    <bean id="jbpmConfiguration" class="org.jbpm.pvm.internal.cfg.SpringConfiguration">   
        <constructor-arg value="jbpm.cfg.xml" />   
   </bean>      
 
    <bean id="processEngine" factory-bean="jbpmConfiguration" factory-method="buildProcessEngine" />  
 
    <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />  
 
    <bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" />  
 
    <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService"/>  
 
    <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService"/>  
 
    <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService"/>    
 
    <!--   
    <bean id="jbpmTemplate" class="com.bmsoft.jbpm.spring.JbpmTemplate">  
 
       <property name="processEngine" ref="processEngine"/>  
 
       <property name="proDefinitionService" ref="proDefinitionService"/>   
       <property name="dataSource" ref="dataSource"/>  
    </bean>   
     -->  
</beans> 
分享到:
评论

相关推荐

    基于struts+spring+hibernate+jbpm的工作流系统

    在这个“基于struts+spring+hibernate+jbpm的外贸服装企业的工作流系统”中,开发者可能设计了以下功能: 1. **用户管理**:包括用户注册、登录、权限管理等,确保不同角色的用户只能访问其权限范围内的功能。 2. *...

    Struts+Spring+Hibernate+Jbpm实现的OA办公系统

    总的来说,"Struts+Spring+Hibernate+Jbpm实现的OA办公系统"是一个典型的企业级应用实例,展示了这些框架在实际项目中的应用和协作。对于想要提升Java Web开发技能,尤其是对企业级应用感兴趣的学习者来说,这是一个...

    ssh+jbpm oa 项目源码

    SSH (Struts2 + Spring + Hibernate) 是一个流行的Java Web开发框架组合,用于构建高效、模块化和可扩展的企业级应用程序。在这个项目中,SSH被用作基础架构,为OA(Office Automation)办公自动化系统提供了强大的...

    JBPM4.4+spring+ext整合

    通过JBPM4.4、Spring和EXT的整合,可以构建出一个功能完善、易用性强的流程管理系统,不仅能够有效地管理业务流程,还能提供直观的用户界面,提升用户体验。这种整合方式在现代企业级应用中具有很高的实用价值。

    java权限框架_ssh+shiro+jbpm4.4+lucene+easyui

    在本项目中,可能用于实现对用户、角色、权限等信息的快速检索,提升系统的查询效率和用户体验。 【EasyUI前端框架】 EasyUI是一个基于jQuery的UI组件库,提供了一系列美观的界面组件,如表格、下拉框、对话框等,...

    简单的spring2+struts2+hibernate3.2+jbpm3应用框架

    【标题】"简单的spring2+struts2+hibernate3.2+jbpm3应用框架"揭示了一个经典的Java企业级开发架构,该框架整合了四个核心组件:Spring 2.x、Struts 2.x、Hibernate 3.2以及jBPM 3。这些技术在2000年代末到2010年代...

    jbpm + spring + struts 项目

    这些脚本可能包括了jbpm的工作流定义、用户、角色等信息。由于项目指定使用MySQL数据库,因此开发者需要熟悉MySQL的语法和管理工具,以进行数据库的安装、配置和数据操作。 在部署此项目时,你需要: 1. 安装并配置...

    SpringMVC+jbpm+ibatis+Hibernate框架

    SpringMVC、jbpm、iBatis和Hibernate是四个在Java开发中广泛使用的框架,它们在构建企业级应用中各自扮演着重要的角色。下面将详细解释这些技术以及它们如何协同工作。 SpringMVC是Spring框架的一个模块,专门用于...

    JBPM4.3 Spring会签 实例

    当将JBPM与Spring结合时,可以充分利用Spring的特性来管理JBPM的工作流实例,提高系统的可维护性和可扩展性。 在这个实例中,我们将探讨如何在JBPM4.3中实现基于Spring的会签功能。会签是一种常见的业务流程操作,...

    JBPM在Web+OA系统中的应用.pdf

    在Web+OA(Office Automation)系统中,JBPM扮演着关键角色,帮助实现高效的业务流程管理和协同办公。这篇由周仁云和王振国撰写的论文探讨了如何在Web+OA系统中有效地集成和应用JBPM。 首先,理解JBPM的核心功能至...

    将Spring与JBPM集成.txt

    3. **JBPM-IDENTITY.JAR** - 提供了身份管理的功能,对于实现工作流中的用户和角色权限控制非常关键。 4. **JBPM-JBDL.JAR** - 包含了JBPM的核心库,用于解析和执行业务流程定义语言(BPMN)的模型。 5. **Spring-...

    spring+struts2+hibernate+简单工作流系统

    在现代企业信息化建设中,工作流管理系统(Workflow Management System,WfMS)扮演着至关重要的角色,它能够自动化处理业务流程,提高工作效率。本项目“spring+struts2+hibernate+简单工作流系统”是一个基础的...

    ssh-jbpm 框架的整合使用

    SSH(Struts2、Spring、Hibernate)是Java开发中常用的三大开源框架,它们各自负责Web层、业务层和持久层的管理,而JBPM则是一个强大的工作流管理系统,主要用于处理业务流程。将SSH与JBPM整合,可以让开发者更加...

    jbpm4.3+servlet+jsp

    jbpm4.3的开发可能需要一系列的库,如jbpm本身的jar包,数据库连接驱动,以及其他辅助库如Spring、Hibernate等,这些库帮助开发者实现业务逻辑,与数据库交互,以及处理其他系统集成。 【压缩包子文件的文件名称...

    基于JBPM工作流的OA办公系统

    在OA(Office Automation)办公系统中,JBPM能够帮助组织有效地管理和优化其日常业务流程,提高工作效率。 ### 1. 工作流管理系统介绍 工作流管理系统(Workflow Management System, WfMS)是一种软件系统,用于...

    jbpm+spring的web简单借款工作流实例项目

    【jbpm+spring web简单借款工作流实例项目详解】 jbPM(Java Business Process Management...通过深入研究和实践这个项目,开发者可以掌握如何在实际场景中有效地应用jbPM和Spring,构建出高效、灵活的业务流程系统。

    jbpm与spring集成

    【jbpm与Spring集成】是企业级应用中常见的技术整合,旨在利用jbpm(Java Business Process Management)的流程管理能力,结合Spring框架的灵活服务管理,实现高效、可扩展的业务流程自动化。jbpm是一个开源的工作流...

    jbpm4的用户手册与开发向导

    综上所述,jBPM4是一套功能强大的业务流程管理系统,其用户手册和开发向导提供了丰富的资源,帮助开发者和用户深入理解和使用这一技术。通过学习这些文档,不仅可以掌握jBPM4的基本用法,还能深入了解其背后的业务...

    jBPM4开发指南.pdf

    jBPM4是一款开源的工作流程管理系统,用于帮助企业构建和管理业务流程。它是Java平台上的一个灵活、可扩展的工具,提供了强大的流程建模、执行和监控能力。在本指南中,我们将深入探讨jBPM4的主要特性、核心概念以及...

Global site tag (gtag.js) - Google Analytics