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 指定其他操作,否则没有超时。
 
完成对会话句柄的所有操作后,通过将 LDAP 会话句柄传递给 ldap_unbind 函数来终止 会话 。 此外,如果 ldap_bind 调用失败,则当不再需要错误恢复时,应通过调用 ldap_unbind 来释放会话句柄。

要求

   
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 winldap.h
Library Wldap32.lib
DLL Wldap32.dll

另请参阅

建立 LDAP 会话

函数

SEC_WINNT_AUTH_IDENTITY

ldap_bind_s

ldap_simple_bind

ldap_simple_bind_s

ldap_unbind