第 38 章 LDAP 连接


Business Central 为带有 Red Hat Process Automation Manager 的 LDAP 服务器提供专用 UserGroup 回调 实施,以便用户任务服务直接从 LDAP 服务检索有关用户、组和角色的信息。

您可以配置以下 LDAP UserGroup 回调 实施属性:

表 38.1. LDAP UserGroup 回调属性
属性描述

ldap.bind.user

用于连接到 LDAP 服务器的用户名。

如果没有指定,此属性是可选的,并且 LDAP 服务器接受匿名访问。

ldap.bind.pwd

用于连接到 LDAP 服务器的密码。

如果没有指定,此属性是可选的,并且 LDAP 服务器接受匿名访问。

ldap.user.ctx

带有用户信息的 LDAP 中的上下文。

ldap.role.ctx

带有组和角色的 LDAP 中的上下文。

ldap.user.roles.ctx

LDAP 中带有用户和组群和角色成员资格信息的上下文。

如果没有指定,此属性是可选的,并且使用 ldap.role.ctx 属性。

ldap.user.filter

用于搜索用户信息的过滤器。

此属性通常包含替换为参数的替换键 {0}。

ldap.role.filter

用于搜索组和角色信息的过滤。

此属性通常包含替换为参数的替换键 {0}。

ldap.user.roles.filter

用于搜索用户组和角色成员资格信息的过滤。

此属性通常包含替换为参数的替换键 {0}。

ldap.user.attr.id

LDAP 中用户 ID 的属性名称。

如果没有指定,此属性是可选的,并使用 uid 属性。

ldap.roles.attr.id

LDAP 中组和角色 ID 的属性名称。

如果没有指定,此属性是可选的,并且使用 cn 属性。

ldap.user.id.dn

DN 中的用户 ID,指示回调在搜索角色前查询用户 DN。这是可选的,默认为 false

java.naming.factory.initial

初始上下文工厂类名称;默认为 com.sun.jndi.ldap.LdapCtxFactory

java.naming.security.authentication

身份验证类型,其中可能的值是 nonesimplestrong。默认情况下,这 很简单

java.naming.security.protocol

要使用的安全协议,例如 ssl

java.naming.provider.url

LDAP url (默认为 ldap://localhost:389 );如果协议被设置为 ssl,则 ldap://localhost:636

38.1. LDAP UserGroup 回调实施

您可以通过使用以下方法之一配置对应的 LDAP 属性来使用 LDAP 用户组 回调 实现:

  • 以编程方式:使用对应的 LDAPUserGroupCallbackImpl 属性构建属性对象,并使用与其参数相同的属性对象创建 LDAPUserGroupCallbackImpl

    例如:

    import org.kie.api.PropertiesConfiguration;
    import org.kie.api.task.UserGroupCallback;
    ...
    Properties properties = new Properties();
    properties.setProperty(LDAPUserGroupCallbackImpl.USER_CTX, "ou=People,dc=my-domain,dc=com");
    properties.setProperty(LDAPUserGroupCallbackImpl.ROLE_CTX, "ou=Roles,dc=my-domain,dc=com");
    properties.setProperty(LDAPUserGroupCallbackImpl.USER_ROLES_CTX, "ou=Roles,dc=my-domain,dc=com");
    properties.setProperty(LDAPUserGroupCallbackImpl.USER_FILTER, "(uid={0})");
    properties.setProperty(LDAPUserGroupCallbackImpl.ROLE_FILTER, "(cn={0})");
    properties.setProperty(LDAPUserGroupCallbackImpl.USER_ROLES_FILTER, "(member={0})");
    
    UserGroupCallback ldapUserGroupCallback = new LDAPUserGroupCallbackImpl(properties);
    
    UserGroupCallbackManager.getInstance().setCallback(ldapUserGroupCallback);
  • 声明性:在应用程序根目录中创建 jbpm.usergroup.callback.properties 文件,或者将文件位置指定为系统属性。

    例如:

    -Djbpm.usergroup.callback.properties=FILE_LOCATION_ON_CLASSPATH

    确保您在启动用户任务服务器时注册 LDAP 回调。

    例如:

    #ldap.bind.user=
    #ldap.bind.pwd=
    ldap.user.ctx=ou\=People,dc\=my-domain,dc\=com
    ldap.role.ctx=ou\=Roles,dc\=my-domain,dc\=com
    ldap.user.roles.ctx=ou\=Roles,dc\=my-domain,dc\=com
    ldap.user.filter=(uid\={0})
    ldap.role.filter=(cn\={0})
    ldap.user.roles.filter=(member\={0})
    #ldap.user.attr.id=
    #ldap.roles.attr.id=

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.