Wie wird die Kennwortauthentifizierung für einen LDAP-Benutzer durchgeführt?

8

Ich schreibe eine Client-App (mit OpenLDAP Bibliotheken), für die die Benutzer über den LDAP-Server authentifiziert werden.

Hier ist das Beispiel für ein hart codiertes Programm, das userPassword für einen Benutzer nicht vergleichen kann.

%Vor%

userPassword Wenn es im LDAP-Server klar ist, funktioniert es. das gleiche Passwort, wenn es MD5-verschlüsselt ist, schlägt ldap_compare_s fehl. Und das liegt daran, dass ich das Klartext-Passwort zum Vergleichen übergebe.

Wie bekomme ich dieses Beispielprogramm?

Mache ich das richtig? Ist es richtig, ldap_compare_s zu verwenden, um Benutzer über LDAP zu authentifizieren?

PS: Dies ist das erste Mal, dass ich an LDAP arbeite.

    
Ashwin kumar 23.04.2013, 11:32
quelle

1 Antwort

7

Dies ist nicht wirklich der richtige Weg, um eine Passwort-Überprüfung für LDAP durchzuführen, was Sie tun sollten, ist zu versuchen, mit der dn von der ersten Suche und dem angegebenen Passwort zu binden.

d. Sie führen eine zweite Bindung durch, um das Kennwort zu bestätigen. Wenn die Bindung fehlschlägt, ist das Passwort falsch.

Etwas ähnlich wie:

%Vor%

Aus Sicherheitsgründen, die darauf hinweisen, dass der Benutzername falsch ist (d. h. die Suche nach dem Benutzerkonto schlägt fehl), wird im Allgemeinen als übermäßige Offenlegung betrachtet und sollte vermieden werden.

    
Petesh 23.04.2013, 11:47
quelle

Tags und Links