2017-11-16 3 views
0

Ich muss Benutzer mit Active Directory in meiner C++ - Anwendung authentifizieren. Ich weiß, dass ich mich an etwas binden und mit dem definierten Namen und dem Passwort des Benutzers authentifizieren muss. Dieser definierte Name enthält oft lange Kommas und enthält den Benutzernamen.Was sind die Schritte, um Single Sign-On für Active Directory mit LDAP zu implementieren?

Angenommen, der Benutzer gibt etwas in den Benutzernamen und das Passwortfeld der Anwendung ein. Wie finde ich den definierten Namen für die Bindung? Muss ich eine Suchanfrage dafür schreiben?

Antwort

1

Sie müssen:

  1. Suche im AD für den DN des Benutzers auf dem, was er in das Formular eingegeben, in der Regel einer E-Mail-Adresse oder einem Benutzer-ID oder etwas anderes, das einzigartig ist. Wenn das AD keine anonyme Suche unterstützt, müssen Sie eine Bindung mit einem adminstrativen Konto/Kennwort herstellen, das die Berechtigung für diese Suche hat. Dies geschieht über einen LDAP-Filterausdruck, ein Thema, das Sie nachschlagen müssen.

  2. Wenn/falls Sie es gefunden haben, binden Sie es an AD, indem Sie den DN dieses Eintrags und das Passwort aus dem Formular verwenden.

Wenn entweder Schritt fehlschlägt, schlägt die Anmeldung fehl, und es dem Benutzer nicht sagen, was es Schritt war, also sagen Sie ihm nicht ‚keine solche Benutzer‘ oder ‚falsches Passwort‘, sagen Sie ihm nur ‚schlecht Anmeldeinformationen oder ähnlich in beiden Fällen. Andernfalls geben Sie dem Angreifer Informationen preis.

Verwandte Themen