Activiti服務類- IdentityService服務類


轉自:https://www.cnblogs.com/liuqing576598117/p/9815013.html

一、內置用戶組(角色)設計表概念

  • 用戶和組(或者叫做角色),多對多關聯,通過關聯表實現
  1. act_id_user 用戶表;

  2. act_id_group 用戶組表;

  3. act_id_membership 用戶與組的關聯表,用來實現多對多;

  4. act_id_info 用戶信息表;

 

     1.  act_id_user 用戶表;

  • 這里的設計可能和我們想象的不一樣,比如_ID,字符串類型 我們直接可以把他當作用戶名 

    FIRST_ LAST_ 是英文命名習慣  EMAIL_ PWD 郵箱 密碼 字段 等等。

 

  2.  act_id_group 用戶組表(或者叫做角色)

 

 

  3.  act_id_membership 用戶與組的關聯表,用來實現多對多

 

  • 只有兩個字段 USER_ID_ 和 GROUP_ID_ 分別關聯用戶表的主鍵和組表的主鍵;

 

 

   4.  act_id_info 用戶信息表

 

  •  主要是用來擴展用戶信息,以及可以實現組織機構層次關系,比如雇員領導用戶設計

 

   5.  說明

  • 這個是activiti給我們內置的一個用戶組設計,
  • 這里說明下:正常的企業級項目都有自己的組織機構用戶權限設置表,所以一般不會用到內置的;
  • 但是假如一個很小的系統,例如 學生請假系統 就那么幾十個用戶,兩三中角色,那我們就可以用內置的,用內置的更加方便;

二、IdentityService 基本使用

復制代碼
package com.shyroke.activiti.firstActiviti;

import org.activiti.engine.IdentityService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.identity.Group;
import org.activiti.engine.identity.User;
import org.activiti.engine.impl.persistence.entity.GroupEntity;
import org.activiti.engine.impl.persistence.entity.UserEntity;
import org.junit.Test;

public class IdentityTest {
    /**
     * 獲取默認流程引擎實例,會自動讀取activiti.cfg.xml文件
     */
    ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
    
    
    /**
     * 添加用戶測試
     */
    @Test
    public void saveUser() {
        IdentityService identityService=processEngine.getIdentityService();
        User user1=new UserEntity();
        user1.setId("張三");
        user1.setPassword("123");
        User user2=new UserEntity();
        user2.setId("李四");
        user2.setPassword("456");
        identityService.saveUser(user1);
        identityService.saveUser(user2);
    }
    
    /**
     * 刪除用戶
     */
    @Test
    public void deleteUser() {
        IdentityService identityService=processEngine.getIdentityService();
        identityService.deleteUser("李四");
    }
    
      /**
     * 測試添加組(角色)
     */
    @Test
    public void testSaveGroup(){
        IdentityService identityService=processEngine.getIdentityService();
        Group group=new GroupEntity(); // 實例化組實體
        group.setId("管理員");
        Group group2=new GroupEntity(); // 實例化組實體
        group2.setId("普通用戶");
        identityService.saveGroup(group);
        identityService.saveGroup(group2);
    }
    
    /**
     * 測試刪除組(角色)
     */
    @Test
    public void testDeleteGroup(){
        IdentityService identityService=processEngine.getIdentityService();
        identityService.deleteGroup("管理員");
    }
    
    /**
     * 測試添加用戶和組(角色)關聯關系
     */
    @Test
    public void testSaveMembership(){
        IdentityService identityService=processEngine.getIdentityService();
        identityService.createMembership("張三", "普通用戶");
    }
    
    /**
     * 測試刪除用戶和組(角色)關聯關系
     */
    @Test
    public void testDeleteMembership(){
        IdentityService identityService=processEngine.getIdentityService();
        identityService.deleteMembership("張三", "普通用戶");
    }
    
}
復制代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM