此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring LDAP 3.2.4

表 1.ContextSource 配置属性
属性 违约 描述

id

contextSource

创建的 Bean 的 ID。

username

向 LDAP 服务器进行身份验证时要使用的用户名(主体)。 这通常是管理员用户的可分辨名称(例如,),但可能因服务器和身份验证方法而异。 如果未显式配置,则为必填项。cn=Administratorauthentication-source-ref

password

向 LDAP 服务器进行身份验证时要使用的密码(凭据)。如果未显式配置,则为必填项。authentication-source-ref

url *

要使用的 LDAP 服务器的 URL。URL 应采用以下格式:. 对于 SSL 访问,请使用协议和适当的端口,例如 . 如果需要故障转移功能,可以指定多个 URL,并用逗号 () 分隔。ldap://myserver.example.com:389ldapsldaps://myserver.example.com:636,

base

LdapUtils.emptyLdapName()

基本 DN。配置此属性后,提供给 LDAP 操作和从 LDAP 操作接收的所有可分辨名称都相对于指定的 LDAP 路径。 这可以大大简化针对 LDAP 树的工作。但是,在某些情况下,您需要访问基本路径。 有关此内容的更多信息,请参阅获取对基本 LDAP 路径的引用

anonymous-read-only

false

定义是否使用匿名(未经身份验证)上下文执行只读操作。 请注意,不支持将此参数设置为与补偿事务支持一起设置,并且将被拒绝。true

referral

null

定义用于处理引荐的策略,如此处所述。有效值为:

  • ignore

  • follow

  • throw

native-pooling

false

指定是否应使用本机 Java LDAP 连接池。请考虑改用Spring LDAP连接池。有关详细信息,请参阅池化支持

authentication-source-ref

一个实例。SimpleAuthenticationSource

要使用的实例的 ID(请参阅自定义主体和凭证管理)。AuthenticationSource

authentication-strategy-ref

一个实例。SimpleDirContextAuthenticationStrategy

要使用的实例的 ID(请参阅自定义 DirContext 身份验证处理)。DirContextAuthenticationStrategy

base-env-props-ref

对自定义环境属性的引用,该属性应随发送到施工中的环境一起提供。MapDirContext

本节介绍在 的核心功能中对上下文进行身份验证,以构造供 和 使用的实例。LDAP 通常仅用于用户身份验证,也可以用于此目的。该过程在使用 Spring LDAP 的用户身份验证中进行了讨论。ContextSourceDirContextLdapClientLdapTemplateContextSource
如果是 LDAP 用户的可分辨名称 (DN),则无论是否在元素上指定了 LDAP 路径,它都必须是 LDAP 树根目录中的用户的完整 DN。usernamebasecontext-source
使用 TLS 连接时,需要确保关闭本机 LDAP 池功能(使用属性指定)。如果设置为 ,则这一点尤其重要。但是,由于 TLS 通道协商过程非常昂贵,因此您可以通过使用 Spring LDAP 池化支持(池化支持中所述)获得巨大的性能优势。native-poolingshutdownTlsGracefullyfalse
我们没有指定任何 or for。我们在使用 .仅当使用默认行为时,才需要这些属性。usernamepasswordcontext-sourceAuthenticationSource
使用 时,您需要使用 Spring Security 根据 LDAP 对用户进行身份验证。SpringSecurityAuthenticationSourceLdapAuthenticationProvider
内置的LDAP连接池中存在一些严重的缺陷,这就是为什么Spring LDAP提供了一种更复杂的LDAP连接池方法,如池化支持中所述。如果需要池功能,建议使用此方法。
无论池配置如何,该方法始终显式不使用本机 Java LDAP 池,以便重置密码尽快生效。ContextSource#getContext(String principal, String credentials)
LdapClient尚不支持 ODM。 如果这是您需要的东西,请具有此容量。 如果需要,两者可以在同一应用程序中很好地共存。LdapTemplateLdapClientLdapTemplate
表 2.LdapTemplate 配置属性
属性 违约 描述

id

ldapTemplate

创建的 Bean 的 ID。

context-source-ref

contextSource

要使用的实例的 ID。ContextSource

count-limit

0

搜索的默认计数限制。0 表示没有限制。

time-limit

0

搜索的默认时间限制,以毫秒为单位。0 表示没有限制。

search-scope

SUBTREE

搜索的默认搜索范围。有效值为:

  • OBJECT

  • ONELEVEL

  • SUBTREE

ignore-name-not-found

false

指定在搜索中是否应忽略 a。设置此属性可静默吞除由无效搜索库引起的错误。NameNotFoundExceptiontrue

ignore-partial-result

false

指定是否应在搜索中忽略。某些 LDAP 服务器在引用方面存在问题。这些通常应自动遵循。但是,如果这不起作用,它会以 .将此属性设置为此问题提供了解决方法。PartialResultExceptionPartialResultExceptiontrue

odm-ref

要使用的实例的 ID。默认值为 default-configured 的 。ObjectDirectoryMapperDefaultObjectDirectoryMapper