2016-04-22 11 views
0

Ich bin neu in der LDAP Konzept und ich bin in der Lage, eine Verbindung zum LDAP-Server erfolgreich. Außerdem können Datensätze in die LDAP-Datenbank eingefügt und daraus gelöscht werden. Als nächstes muss ich den Benutzer anhand von LDAP-Datenbankeinträgen authentifizieren. Hilf mir bitte. Ich werde den Quellcode teilen, wenn nötig. Danke.Benutzer-Authentifizierung in LDAP Java

Antwort

1

Wir haben several samples, die Ihnen helfen können, wenn Sie JNDI und LDAP verwenden müssen.

Wir bevorzugen eine echte LDAP SDK, wie die bei https://www.ldap.com/developing-clients-apps (Wir verwenden und empfehlen UnboundID LDAP-SDK für Java)

Sie sollten auch mit OpenID Connect betrachten wahrscheinlich gezeigt zu verwenden, wie Sie können dann abstrakt die Authentifizierung Agnostiker werden wie Authentifizierung stattfindet.

0

Ich habe auch LDAP für auth. Ich empfehle die Token basierte Auth. Wenn Sie das Token JWT auf Anfrage erhalten können. Dieses Repo java-jwt wird hilfreich sein.

0

Wenn es Ihnen nichts ausmacht Spring Security zu verwenden, lesen Sie den Artikel this Artikel. Es erleichtert die Implementierung und Konfiguration. Hier und als Beispiel der LDAP-Konfiguration:

auth.authenticationProvider(ldapAuthenticationProvider) 
    .ldapAuthentication() 
    .ldapAuthoritiesPopulator(ldapAuthoritiesPopulator) 
    .userSearchBase("ou=users") 
    .userSearchFilter("(uid={0})") 
    .groupSearchBase("ou=roles") 
    .groupSearchFilter("(member={0})") 
    .groupRoleAttribute("cn") 
    .contextSource(contextSource); 
+0

Hallo @Serghey .. Gibt es eine Möglichkeit, dies in Core Java zu verwenden? – user4342532

+0

Ich bin mir nicht sicher, ob Spring Security gut mit Core-Java funktioniert, habe es noch nie ausprobiert. In diesem Fall brauchen Sie eher Spring Ldap. Überprüfen Sie [this] (http://docs.spring.io/spring-ldap/docs/current/reference/#basic-authentication) Beispiel für die Ldap-Standardauthentifizierung mit Spring Ldap. –

0

versuchen, ein Objekt von InitialDirContext mit security_principal (Benutzern dn) und security_credentials (Passwort) des Benutzers, den Sie authentifizieren wollen zu erstellen. Wenn Sie das Objekt erstellen können, für das der Benutzer authentifiziert ist, fangen Sie andernfalls die Ausnahme ab und werfen Sie sie ab.