第 37 章 LDAP 连接


Business Central 为 LDAP 服务器提供专用的 UserGroupCallback 实现,以便用户任务服务直接从 LDAP 服务检索用户、组和角色的信息。

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

Expand
表 37.1. LDAP UserGroupCallback 属性
属性描述

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

如果可能的值不是、 简单 和强大的 验证类型。默认为 simple

java.naming.security.protocol

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

java.naming.provider.url

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

37.1. LDAP UserGroupCallback 实现

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

  • 以编程方式:使用相应的 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