0
点赞
收藏
分享

微信扫一扫

Flowable入门系列文章182 - LDAP用法介绍

瑾谋 2022-03-22 阅读 69

1、用法

要将LDAP集成代码添加到项目中,只需将以下依赖项添加到您的pom.xml中即可:

<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-ldap-configurator</artifactId>
<version>latest.version</version>
</dependency>

2、用例

LDAP集成目前有两个主要用例:

  • 允许通过IdentityService进行身份验证。这在通过IdentityService执行所有操作时非常有用。
  • 获取用户的组。当例如查询任务以查看某个用户可以看到哪些任务(即,具有候选组的任务)时,这是非常重要的。

3、组态

积分用可流动的LDAP系统通过注入的一个实例进行org.flowable.ldap.LDAPConfigurator的idmProcessEngineConfigurator流程引擎配置的截面。这个类是高度可扩展的:如果默认的实现不适合用例,方法可以很容易地被覆盖,并且许多依赖的bean是可插入的。

这是一个示例配置(注意:当然,以编程方式创建引擎时,这是完全相似的)。现在不要担心所有的属性,我们将在下一节详细介绍它们。

<bean id="processEngineConfiguration" class="...SomeProcessEngineConfigurationClass">
...
<property name="idmProcessEngineConfigurator">
<bean class="org.flowable.ldap.LDAPConfigurator">
<property name="ldapConfiguration">
<bean class="org.flowable.ldap.LDAPConfiguration">
<!-- Server connection params -->
<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" />
<!-- Query params -->
<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="queryAllUsers" value="(objectClass=inetOrgPerson)" />
<property name="queryGroupsForUser" value="(&(objectClass=groupOfUniqueNames)(uniqueMember={0}))" />
<property name="queryAllGroups" value="(objectClass=groupOfUniqueNames)" />
<!-- Attribute config -->
<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>
</property>
</bean>
举报

相关推荐

0 条评论