322.4. 使用方法
组件仅支持制作者端点。尝试创建消费者端点将导致 UnsupportedOperationException
。
消息的正文必须是映射( java.util.Map
实例)。除非在 ContextSource 配置中指定基本 DN,此映射必须至少包含一个带有键 dn
( function_driven 操作不需要)的条目,用于指定要执行的 LDAP 操作的根节点。映射的其他条目是特定于操作的(请参阅以下)。
对于 bind
和 unbind
操作,消息的正文保持不变。有关 search
和 function_driven
操作,正文被设置为搜索的结果,请参阅 http://static.springsource.org/spring-ldap/site/apidocs/org/springframework/ldap/core/LdapTemplate.html#search%28java.lang.String,%20java.lang.String,%20int,%20org.springframework.ldap.core.AttributesMapper%29。
322.4.1. 搜索
消息正文必须具有带有键 过滤器
的条目。该值必须是 代表
有效 LDAP 过滤器的字符串,请参阅 http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol#Search_and_Compare。
322.4.2. 绑定
消息正文必须具有带有键 属性
的条目。该值必须是 javax.naming.directory.Attributes 的一个实例,指定要创建的 LDAP 节点。
322.4.3. unbind
不需要其他条目,删除具有指定 dn
的节点。
322.4.4. 身份验证
消息正文必须具有带有键 过滤器
和密码
的条目。这些值必须是 String
实例,分别代表有效的 LDAP 过滤器和用户密码。
322.4.5. 修改属性
消息正文必须具有带有键 modify Items
的条目。该值必须是类型为 javax.naming.directory.ModificationItem的数组的实例
322.4.6. function-Driven
消息正文必须具有带有键 function
和 request
的条目。功能
值必须是 java.util.function.BiFunction<L, Q, S
> 类型。L
type 参数必须是 org.springframework.ldap.core.LdapOperations
。请求
值必须与函数中的 Q
type 参数相同,它必须封装 函数
中调用的 LdapTemplate 方法预期的参数。
S
type 参数表示被调用的 LdapTemplate 方法返回的响应类型。此操作允许动态调用上述操作没有涵盖的 LdapTemplate 方法。
重要定义
为了避免拼写错误,在 org.apache.camel.springldap.SpringLdapProducer
中定义了以下常数:
- 公共静态最终字符串 DN = "dn"
- 公共静态最终字符串 FILTER = "filter"
- 公共静态最终字符串 ATTRIBUTES = "attributes"
- public static final String PASSWORD = "password";
- public static final String MODIFICATION_ITEMS = "modificationItems";
- public static final String FUNCTION = "function";
- 公共静态最终字符串 REQUEST = "request";