2017-03-28 6 views
0

Ich habe ein Problem mit der LDAP-Authentifizierung. Wenn man sich die Logs anschaut, scheint es gut zu funktionieren, aber wenn ich versuche mich anzumelden, sieht es nicht so aus, als würde es überhaupt ldap schlagen und ich bekomme die Authentifizierung fehlgeschlagen.SonarQube-Authentifizierung mit LDAP funktioniert nicht

In den Protokollen sehe ich:

2017.03.28 17:17:46 INFO web[org.sonar.INFO] Security realm: LDAP 
2017.03.28 17:17:46 INFO web[o.s.p.l.LdapSettingsManager] User mapping: LdapUserMapping{baseDn=ou=people,o=intra,dc=sears,dc=com, request=(&(objectClass=*searsorgperson)(uid={0})), realNameAttribute=cn, emailAttribute=mail} 
2017.03.28 17:17:46 INFO web[o.s.p.l.LdapSettingsManager] Groups will not be synchronized, because property 'ldap.group.baseDn' is empty. 
2017.03.28 17:17:46 DEBUG web[o.s.p.l.LdapContextFactory] Initializing LDAP context {java.naming.provider.url=ldap://trprdirqr3.intra.searshc.com:389/ou=people,o=intra,dc=sears,dc=com, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.pool=true, java.naming.security.authentication=simple, java.naming.referral=follow} 
2017.03.28 17:17:46 INFO web[o.s.p.l.LdapContextFactory] Test LDAP connection on ldap://trprdirqr3.intra.searshc.com:389/ou=people,o=intra,dc=sears,dc=com: OK 
2017.03.28 17:17:46 INFO web[org.sonar.INFO] Security realm started 

Meine Config hat folgende:

# General Configuration 
sonar.security.realm=LDAP 
sonar.authenticator.createUsers=true 
sonar.authenticator.class: org.sonar.plugins.ldap.LdapAuthenticator 
sonar.security.savePassword=true 
sonar.security.updateUserAttributes=true 
ldap.url=ldap://trprdirqr3.intra.searshc.com:389/ou=people,o=intra,dc=sears,dc=com 


# User Configuration 
ldap.user.baseDn=ou=people,o=intra,dc=sears,dc=com 
ldap.user.request=(&(objectClass=*searsorgperson)(uid={login})) 
ldap.user.realNameAttribute=cn 
ldap.user.emailAttribute=mail 

Nach meiner LDAP Admin, tut es eine anonumous Prüfung, wenn es zuerst kommt, aber nichts ist Sonst danach gemacht. Aus irgendeinem Grund scheint es den LDAP-Server nicht zu treffen, wenn ich mich anmelde. Ich habe keine lokalen IDs neben Admin eingerichtet.

+0

Haben Sie SonarQube Debug-Protokolle während des Authentifizierungsversuchs überprüft? Wenn nötig, aktualisieren Sie Ihre Frage mit diesen, + info auf SonarQube und LDAP Plugin Versionen –

+0

Ich habe überprüft und das einzige, was ich sehe, ist das Folgende: 2017.03.29 14:38:08 DEBUG Web [http] POST/Sitzungen/Login | Zeit = 180ms –

Antwort

0

Sie haben keinen authentifizierten Benutzer für die Suche konfiguriert.

Das heißt, der erste Test, anonyme Bindung testet die Konnektivität. Um jedoch nach dem Benutzer-DN zu suchen, benötigen Sie mehr als anonyme Berechtigungen. Sobald der DN gefunden wurde, binden Sie ihn als angemeldeten Benutzer. Aber zuerst müssen Sie den LDAP-DN des Benutzers angeben, der der Proxy ist, der suchen kann, und sein Passwort.

Auch Sie haben ein Sternchen (Platzhalter) in Ihrem objectlass Suchfilter:

ldap.user.request = (& (objectclass = * searsorgperson) (uid = {login}))

Oder ist das Formatierungssymbol? Ich bin mir nicht sicher, ob ObjectClass normalerweise auf diese Weise durchsucht werden kann).

+0

In unserem LDAP System hat anonym die Berechtigung zu suchen. Laut der Dokumentation, wenn Sie # ldap.bindDn nicht angeben, verwendet es anonym, um die Suche richtig zu machen? –