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_bindldap_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