LDAP ADsPath

Microsoft LDAP 提供程序 ADsPath 要求使用以下格式。

LDAP://HostName[:PortNumber][/DistinguishedName]

注意

左括号和右括号字符 ([ ]) 表示可选参数;它不是绑定字符串的文本部分。

 

“HostName”可以是计算机名称、IP 地址或域名。 也可以在绑定字符串中指定服务器名称。 大多数 LDAP 提供程序采用的模型都要求指定服务器名称。

“PortNumber”指定用于连接的端口。 如果未指定端口号,LDAP 提供程序将使用默认端口号。 如果不使用 SSL 连接,则默认端口号为 389;如果使用 SSL 连接,默认端口号为 636。

“DistinguishedName”指定特定对象的可分辨名称。 给定对象的可分辨名称保证是唯一的。

下表列出了绑定字符串的示例。

LDAP ADsPath 示例 说明
LDAP: 绑定到 LDAP 命名空间的根目录。
LDAP://server01 绑定到特定服务器。
LDAP://server01:390 使用指定的端口号绑定到特定服务器。
LDAP://CN=Jeff Smith,CN=users,DC=fabrikam,DC=com 绑定到特定对象。
LDAP://server01/CN=Jeff Smith,CN=users,DC=fabrikam,DC=com 通过特定服务器绑定到特定对象。

 

如果成功完成特定目录请求需要 Kerberos 验证,则绑定字符串必须使用无服务器 ADsPath,如 LDAP://CN=Jeff Smith,CN=users,DC=fabrikam,DC=com,或者必须使用带有完全限定 DNS 服务器名称的 ADsPath,如 LDAP://server01.fabrikam.com/CN=Jeff Smith,CN=users,DC=fabrikam,DC=com。 使用统一的 NETBIOS 名称或简短的 DNS 名称绑定服务器(例如,使用 server01 而不是 server01.fabrikam.com),并不能保证获得 Kerberos 验证。

有关 LDAP 绑定字符串的详细信息和示例,以及可在 LDAP 绑定字符串中使用的特殊字符的说明,请参阅 LDAP ADsPath。

Windows 2000 SP1 及更高版本:对于 LDAP 提供程序,如果绑定字符串包含服务器名称,则可以通过在 ADsOpenObject 函数或 IADsOpenDSObject::OpenDSObject 方法中使用 ADS_SERVER_BIND 标志来提高性能。 ADS_SERVER_BIND 标志表示指定了服务器名称,这使得 ADSI 能够避免额外的、不必要的网络流量。

LDAP 特殊字符

LDAP 具有多个保留供 LDAP API 使用的特殊字符。 特殊字符列表请参见可分辨名称。 要在 ADsPath 中使用这些字符而不产生错误,该字符前必须带一个反斜杠 (\) 字符。 这被称为转义字符。 例如,如果以“<last name>,<first name>”的形式给出用户名,则名称值中的逗号必须转义。 由此产生的字符串如下所示:

LDAP://CN=Smith\,Jeff,CN=users,DC=fabrikam,DC=com

转义字符也可以用两位十六进制字符代码来指定。 这在下面的示例中显示。

LDAP://CN=Smith\2CJeff,CN=users,DC=fabrikam,DC=com

换行和回车等不可打印字符必须转义,并以两位十六进制字符代码来指定。 这在下面的示例中显示。

LDAP://CN=Line\0AFeed,CN=users,DC=fabrikam,DC=com

详细信息

有关兼容 LDAP 的目录服务使用的区分名称符号的详细信息,请参阅https://www.ietf.org/rfc/rfc1779.txt