Share via


ldap_bind-Funktion (winldap.h)

Die ldap_bind-Funktion authentifiziert einen Client asynchron beim LDAP-Server. Der Bindungsvorgang identifiziert einen Client an den Verzeichnisserver, indem ein distinguished Name und eine Art von Authentifizierungsanmeldeinformationen, z. B. ein Kennwort, angegeben wird. Die verwendete Authentifizierungsmethode bestimmt den Typ der erforderlichen Anmeldeinformationen.

Vorsicht Verwenden Sie diese Funktion nicht, es sei denn, es wurde eine TLS-verschlüsselte Sitzung (SSL) eingerichtet. Diese Funktion sendet den Namen und das Kennwort im Klartext. Ein nicht autorisierter Benutzer, der den Netzwerkdatenverkehr überwacht, kann das Kennwort lesen. Weitere Informationen zum Einrichten einer verschlüsselten Sitzung finden Sie unter Initialisieren einer Sitzung.
 

Syntax

WINLDAPAPI ULONG LDAPAPI ldap_bind(
  [in] LDAP        *ld,
  [in] const PSTR  dn,
  [in] const PCHAR cred,
  [in] ULONG       method
);

Parameter

[in] ld

Das Sitzungshandle.

[in] dn

Ein Zeiger auf eine NULL-endende Zeichenfolge, die den distinguished Name des zum Binden verwendeten Eintrags enthält.

[in] cred

Ein Zeiger auf eine NULL-endende Zeichenfolge, die die Anmeldeinformationen enthält, die für die Authentifizierung verwendet werden sollen. Mit diesem Parameter können beliebige Anmeldeinformationen übergeben werden. Format und Inhalt der Anmeldeinformationen hängen von der Einstellung des Methodenparameters ab. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

[in] method

Die zu verwendende Authentifizierungsmethode.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Meldungs-ID des initiierten Vorgangs.

Wenn die Funktion fehlschlägt, gibt sie –1 zurück und legt die Sitzungsfehlerparameter in der LDAP-Struktur fest.

Hinweise

Diese Implementierung von ldap_bind unterstützt die folgende Authentifizierungsmethode.

Authentifizierungsmethode BESCHREIBUNG Anmeldeinformationen
LDAP_AUTH_SIMPLE Authentifizierung mit einem Klartextkennwort. Eine Zeichenfolge, die das Benutzerkennwort enthält.
 

LDAP_AUTH_SIMPLE ist die einzige Authentifizierungsmethode, die mit der asynchronen Bindungsversion kompatibel ist. ldap_bind. Die Verwendung einer anderen Authentifizierungsmethode mit ldap_bind schlägt fehl und gibt LDAP_PARAM_ERROR zurück. Das Aufrufen ldap_bind mit der LDAP_AUTH_SIMPLE-Methode entspricht dem Aufrufen ldap_simple_bind. Alle anderen Authentifizierungsmethoden erfordern eine synchrone Bindung, wie von ldap_bind_s bereitgestellt.

Beachten Sie, dass LDAP 2-Server eine Anwendung binden müssen, bevor sie andere Vorgänge durchführen, die eine Authentifizierung erfordern.

Multithreading: Bindungsaufrufe sind nicht sicher, da sie für die gesamte Verbindung gelten. Gehen Sie vorsichtig vor, wenn Threads Verbindungen gemeinsam nutzen und, wenn möglich, die Bindungsvorgänge mit anderen Vorgängen threaden.

Hinweis Der Microsoft LDAP-Client verwendet für jeden Bindungsantwort-Roundtrip einen Standardtimeoutwert von 120 Sekunden. Dieser Timeoutwert kann mithilfe der Option LDAP_OPT_TIMELIMIT Sitzung geändert werden. Andere Vorgänge weisen kein Timeout auf, es sei denn, dies wird mithilfe von ldap_set_option angegeben.
 
Wenn alle Vorgänge für das Sitzungshandle abgeschlossen sind, beenden Sie die Sitzung, indem Sie das LDAP-Sitzungshandle an die ldap_unbind-Funktion übergeben. Wenn der ldap_bind Aufruf fehlschlägt, sollte das Sitzungshandle mit einem Aufruf von ldap_unbind freigegeben werden, wenn die Fehlerwiederherstellung nicht mehr erforderlich ist.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile winldap.h
Bibliothek Wldap32.lib
DLL Wldap32.dll

Weitere Informationen

Einrichten einer LDAP-Sitzung

Funktionen

SEC_WINNT_AUTH_IDENTITY

ldap_bind_s

ldap_simple_bind

ldap_simple_bind_s

ldap_unbind