Activiti6---用户与用户组

1. 说明

Activiti中内置了一套用户、用户组关系,以及对它们的操作API。关于用户和用户组表工业四张,如下图:

表名 含义
act_id_user 身份信息-用户信息
act_id_group 身份信息-组信息
act_id_info 身份信息-用户扩展信息表
act_id_membership 身份信息-用户和组关系的中间表

2. 用户与用户组表的介绍

1、ACT_ID_USER(用户信息表)
在这里插入图片描述
2、ACT_ID_INFO(用户扩展信息表)
在这里插入图片描述
3、ACT_ID_GROUP(用户组信息表)
在这里插入图片描述
4、ACT_ID_MEMBERSHIP(用户与用户组关系信息表)
在这里插入图片描述

3. 项目中用户和角色与Activiti中的用户、用户组整合

通常来说在项目中都已经是有了用户和角色权限功能。比如我创建了一个springboot项目,已经创建了用户表和角色表,那么如何将项目本身的用户和角色与activiti的用户、用户组整合在一起啦。

我的思路:在项目中创建了用户时,同时也需要将用户与Activiti的用户关联起来,直接通过id关联即可。

3.1 整合

	/**
     * 把自定义用户同步到activiti用户
     */
    @Test
    public void addUser(){
   
        List<com.yb.domain.User> all = userDao.findAll();
        for (com.yb.domain.User user : all) {
   
            User user1 = identityService.newUser(user.getUid()+"");
            user1.setFirstName(user.getUsername());
            user1.setPassword(user.getPassword());
            identityService.saveUser(user1);
        }

    }

    /**
     * 查询用户信息
     */
    @Test
    public void queryUser(){
   
        User user = identityService.createUserQuery()
                .userId("1")
                .singleResult();
        System.out.println(user.getFirstName());
    }

    /**
     * 创建activiti用户组
     */
    @Test
    public void addGroup(){
   
        Group group1 = identityService.newGroup("group1");
        group1.setName("主管组");
        group1.setType("主管组");
        identityService.saveGroup(group1);

        Group group2 = identityService.newGroup("group2");
        group2.setName("总监组");
        group2.setType("总监组");
        identityService.saveGroup(group2);

        Group group3 = identityService.newGroup("group3");
        group3.setName("项目经理组");
        group3.setType("项目经理组");
        identityService.saveGroup(group3);


        Group group4 = identityService.newGroup("group4");
        group4.setName("员工组");
        group4.setType("员工组");
        identityService.saveGroup(group4);

        Group group5 = identityService.newGroup("group5");
        group5.setName("人力资源组");
        group5.setType("人力资源组");
        identityService.saveGroup(group5);

    }

    /**
     * 查询用户组
     */
    @Test
    public void queryGroup( ){
   
        Group group = identityService.createGroupQuery()
                .groupId("group1")
                .singleResult();
        System.out.println(group.getId());
        System.out.println(group.getName());
        System.out.println(group.getType());

    }

    /**
     * 创建用户-用户组之间的关系
     */
    @Test
    public void addMembership( ){
   
        identityService.createMembership("1", "group4");
        identityService.createMembership("3", "group3");
        identityService.createMembership("4", "group3");
        identityService.createMembership("5", "group3");
        identityService.createMembership("6", "group5");
    }

    /**
     * 查询属于用户组group3的用户
     */
    @Test
    public void queryUserListByGroup( ){
   

        //查询属于组group1的用户
        List<User> usersInGroup = identityService.createUserQuery()
                .memberOfGroup("group3")
                .list();
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值