第 37 章 LDAP 连接


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

您可以配置以下 LDAP UserGroupCallback 实现属性:

Expand
表 37.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)

37.1. LDAP UserGroup 回调实现

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

  • 以编程方式:使用对应的 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);
    Copy to Clipboard Toggle word wrap
  • 声明性:在应用程序的根目录中创建 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=
    Copy to Clipboard Toggle word wrap

其他资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat