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