flowable将一系列的服务类通过ProcessEngine类暴露给外部程序,其中新增的服务类有FormRepositoryService、FormService、
DmnRepositoryService、DmnRuleService、IdmIdentityService、ContentService。从而更方便我们的开发。本文重点讲解IdmIdentityService类的使用。其他的服务类随后的章节会详细的讲解。
本教程主要分以下几点内容:
一、 创建用户。
二、 创建组。
三、 关联用户和组。
四、 创建权限信息。
五、 为用户或者组关联权限。
1.1 创建用户
以上所说的几种操作,均通过IdmIdentityService实例对象进行,用户的创建代码如下:
private void newUser(IdmIdentityService idmIdentityService) {
User user = idmIdentityService.newUser("shareniu1");
user.setPassword("shareniu1");
user.setEmail("shareniu@qq.com");
user.setFirstName("share");
user.setLastName("niu");
idmIdentityService.saveUser(user);
}
其中newUser方法中的“shareniu1”对应act_id_user表中的主键ID_列值。
执行上述代码act_id_user表的变化如下图所示。
1.2 创建组
对于组的创建代码如下所示:
private void newGroup(IdmIdentityService idmIdentityService) {
Group group = idmIdentityService.newGroup("shareniu1");
group.setName("shareniu1");
idmIdentityService.saveGroup(group);
}
执行上述代码,act_id_group表新增的数据如下图所示。
1.3 关联用户和组
上述创建了一个用户,其中id和名称均为shareniu1。创建的组的id为shareniu1。现在如果打算将其进行关联,则只需要执行如下的代码:
idmIdentityService.createMembership("shareniu1", "shareniu1");
1.4 创建权限信息
之前的文章中,详细介绍了flowable-admin、flowable-idm、flowable-modeler、flowable-rest、flowable-task等模块的使用,
其中介绍到了不同的用户或者组的权限才可以登陆相应的模块并操作。下面看一下权限的创建(act_id_priv表),代码如下:
private void createPrivilege(IdmIdentityService idmIdentityService) {
PrivilegeEntity privilege = (PrivilegeEntity) idmIdentityService.createPrivilege("delete");
}
上述代码执行完毕之后,act_id_priv表新增的数据如下:
1.5 为用户或者组关联权限
该操作的目的主要是为了为用户或者组进行授权,这样授权的用户或者组就可以进行相应的操作了。
private void addUserPrivilegeMapping(IdmIdentityService idmIdentityService,
String userId, String privilegeId) {
idmIdentityService.addUserPrivilegeMapping(privilegeId, userId);
}
private void addGroupPrivilegeMapping(IdmIdentityService idmIdentityService) {
idmIdentityService.addGroupPrivilegeMapping("b0d6b55b-f670-11e6-b31b-30b49e08e9bc", "shareniu1");
}
参数说明如下:
privilegeId:act_id_priv表的主键id值。
userId:act_id_user表中的主键值。
1.6 说明
本文重点讲解的是IdmIdentityService服务类的使用以及所提供的功能,如果对于权限或者关联权限的意义不了解,可以参考之前的文章。本文的案例均是以插入操作为例,关于数据的删除、更新、查询操作可以结合该案例自行实现。
转载请注明:分享牛 » flowable IdmIdentityService