第 38 章 LDAP 连接
Business Central 为带有 Red Hat Process Automation Manager 的 LDAP 服务器提供专用 UserGroup 回调
实施,以便用户任务服务直接从 LDAP 服务检索有关用户、组和角色的信息。
您可以配置以下 LDAP UserGroup 回调
实施属性:
属性 | 描述 |
---|---|
| 用于连接到 LDAP 服务器的用户名。 如果没有指定,此属性是可选的,并且 LDAP 服务器接受匿名访问。 |
| 用于连接到 LDAP 服务器的密码。 如果没有指定,此属性是可选的,并且 LDAP 服务器接受匿名访问。 |
| 带有用户信息的 LDAP 中的上下文。 |
| 带有组和角色的 LDAP 中的上下文。 |
| LDAP 中带有用户和组群和角色成员资格信息的上下文。
如果没有指定,此属性是可选的,并且使用 |
| 用于搜索用户信息的过滤器。 此属性通常包含替换为参数的替换键 {0}。 |
| 用于搜索组和角色信息的过滤。 此属性通常包含替换为参数的替换键 {0}。 |
| 用于搜索用户组和角色成员资格信息的过滤。 此属性通常包含替换为参数的替换键 {0}。 |
| LDAP 中用户 ID 的属性名称。
如果没有指定,此属性是可选的,并使用 |
| LDAP 中组和角色 ID 的属性名称。
如果没有指定,此属性是可选的,并且使用 |
|
DN 中的用户 ID,指示回调在搜索角色前查询用户 DN。这是可选的,默认为 |
|
初始上下文工厂类名称;默认为 |
|
身份验证类型,其中可能的值是 |
|
要使用的安全协议,例如 |
|
LDAP url (默认为 |
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=