身份管理(IDM)是Flowable引擎提供的用户和组的管理组件。在默认情况下,IDM在Flowable引擎启动时初始化并启动。IDM管理自己的数据库表结构及下列实体。
(1)User与UserEntity:用户信息。
(2)Group与GroupEntity:组信息。
(3)MembershipEntity:组中的用户成员。
(4)Privilege与PrivilegeEntity:权限定义(如在Flowable Modeler与Flowable Task应用中用于控制应用界面的访问)。
(5)PrivilegeMappingEntity:将用户及/或组与权限关联。
(6)Token与TokenEntity:应用界面程序使用的认证令牌。
由于历史与当前进行中的流程实例都会在数据库中保存历史实体,因此可以选择直接查询历史表以减少对运行时流程实例数据的访问,并提高运行时的执行性能。
如果想要实现自定义身份的管理,可以覆盖IDM身份管理实现类IdmIdentityServiceImpl,或者直接实现IDM身份管理接口IdmIdentityService,并且配置实现类作为流程引擎配置ProcessEngineConfiguration中的idmIdentityService参数。在Spring中配置如下代码: