返回介绍

12.1. 配置 IDM 引擎

发布于 2023-09-17 23:40:35 字数 2694 浏览 0 评论 0 收藏 0

默认情况下,IDM引擎使用org.flowable.engine.impl.cfg.IdmEngineConfigurator启动。这个配置器使用Flowable流程引擎配置中相同的数据源配置。这样使用身份管理就不需要进行额外的配置,就像在Flowable V5中一样。

如果Flowable引擎不需要身份管理,可以在流程引擎配置中禁用IDM引擎。

<bean class="org.flowable.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
  <property name="disableIdmEngine" value="true" />
  ...
</bean>

这意味着不能使用用户与组进行查询,也不能在任务查询中,按用户查询其所在的候选组。

默认情况下,用户的密码以明文保存在IDM数据库表中。可以在流程引擎配置中定义一个加密算法,以确保密码加密。

<bean
    class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>

<bean class="org.flowable.idm.spring.authentication.SpringEncoder">
  <constructor-arg ref="bCryptEncoder"/>
</bean>

<bean class="org.flowable.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
  <property name="passwordEncoder" ref="passwordEncoder" />
  ...
</bean>

这里使用的是ShaPasswordEncoder,但也可以使用其他的加密算法,如org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder,不使用Spring的话也可以改用org.flowable.idm.engine.impl.authentication.ApacheDigester。

也可以覆盖默认的IDM引擎配置器,使用自定义方式初始化IDM引擎。LDAPConfigurator的实现就是一个很好的例子。它覆盖了默认的IDM引擎,使用LDAP服务代替了默认的IDM数据库表。流程引擎配置的idmProcessEngineConfigurator参数用于设置自定义的配置器,如LDAPConfigurator

<bean class="...SomeProcessEngineConfigurationClass">
  ...
  <property name="idmProcessEngineConfigurator">
    <bean class="org.flowable.ldap.LDAPConfigurator">

    <!-- 服务器连接参数 -->
    <property name="server" value="ldap://localhost" />
    <property name="port" value="33389" />
    <property name="user" value="uid=admin, ou=users, o=flowable" />
    <property name="password" value="pass" />

    <!-- 查询参数 -->
    <property name="baseDn" value="o=flowable" />
    <property name="queryUserByUserId" value="(&(objectClass=inetOrgPerson)(uid={0}))" />
    <property name="queryUserByFullNameLike" value="(&(objectClass=inetOrgPerson)(|({0}=*{1}*)({2}=*{3}*)))" />
    <property name="queryGroupsForUser" value="(&(objectClass=groupOfUniqueNames)(uniqueMember={0}))" />

    <!-- 配置参数 -->
    <property name="userIdAttribute" value="uid" />
    <property name="userFirstNameAttribute" value="cn" />
    <property name="userLastNameAttribute" value="sn" />
    <property name="userEmailAttribute" value="mail" />


    <property name="groupIdAttribute" value="cn" />
    <property name="groupNameAttribute" value="cn" />

    </bean>
  </property>
</bean>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文