ldap_bind 函数 (winldap.h)
ldap_bind 函数使用 LDAP 服务器异步对客户端进行身份验证。 绑定操作通过提供可分辨名称和某种类型的身份验证凭据(如密码)来标识目录服务器的客户端。 使用的身份验证方法确定所需凭据的类型。
谨慎 除非已建立 TLS (SSL) 加密会话,否则请勿使用此函数。 此函数以纯文本形式发送名称和密码。 监视网络流量的未经授权的用户可以读取密码。 有关如何建立加密会话的详细信息,请参阅 初始化会话。
语法
WINLDAPAPI ULONG LDAPAPI ldap_bind(
[in] LDAP *ld,
[in] const PSTR dn,
[in] const PCHAR cred,
[in] ULONG method
);
参数
[in] ld
会话句柄。
[in] dn
指向以 null 结尾的字符串的指针,该字符串包含用于绑定的条目的可分辨名称。
[in] cred
指向以 null 结尾的字符串的指针,该字符串包含用于身份验证的凭据。 可以使用此参数传递任意凭据。 凭据的格式和内容取决于方法参数的设置。 有关详细信息,请参见“备注”部分。
[in] method
要使用的身份验证方法。
返回值
如果函数成功,则返回值是发起的操作的消息 ID。
如果函数失败,它将返回 –1 并在 LDAP 结构中设置会话错误参数。
注解
ldap_bind 的此实现支持以下身份验证方法。
身份验证方法 | 说明 | 凭据 |
---|---|---|
LDAP_AUTH_SIMPLE | 使用纯文本密码进行身份验证。 | 包含用户密码的字符串。 |
LDAP_AUTH_SIMPLE 是唯一与绑定的异步版本兼容的身份验证方法; ldap_bind。 将任何其他身份验证方法与 ldap_bind 一起使用将失败并返回 LDAP_PARAM_ERROR。 使用 LDAP_AUTH_SIMPLE 方法调用 ldap_bind 等效于调用 ldap_simple_bind。 所有其他身份验证方法都需要 ldap_bind_s提供的同步绑定。
请注意,在尝试任何其他需要身份验证的操作之前,LDAP 2 服务器需要应用程序进行绑定。
多线程处理:绑定调用不安全,因为它们作为一个整体应用于连接。 如果线程共享连接,并且尽可能将绑定操作与其他操作线程化,请谨慎操作。
注意 Microsoft LDAP 客户端对每次绑定响应往返使用默认超时值 120 秒。 可以使用 “LDAP_OPT_TIMELIMIT 会话”选项更改此超时值。 除非使用 ldap_set_option 指定其他操作,否则没有超时。
要求
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | winldap.h |
Library | Wldap32.lib |
DLL | Wldap32.dll |