Próbuję skonfigurować Gerrit, aby używać naszej firmowej usługi Active Directory do uwierzytelniania. Wiem, że wielu ludziom udało się to zrobić, ale to po prostu nie zadziała dla mnie.Gerrit i Active Directory
Jeśli uruchomić polecenie ldapsearch
następująco uzyskać poprawny wynik, więc wiem, że moje struny wyszukiwania są poprawne:
ldapsearch -h myserver -b "CN=Users,DC=mycompany,DC=com" -D "CN=adam,CN=Users,DC=mycompany,DC=com" -w mypassword "(sAMAccountName=adam)"
Ale przy użyciu tych samych ustawień w moim Gerrit config nie działa:
[auth]
type = LDAP
[ldap]
server = ldap://myserver
accountBase = CN=Users,DC=mycompany,DC=com
groupBase = OU=Gerrit,DC=mycompany,DC=com
user = CN=adam,CN=Users,DC=mycompany,DC=com
password = mypassword
referral = follow
accountPattern = (sAMAccountName=${username})
groupPattern = (cn=${groupname})
accountFullName = displayName
accountMemberField = memberOf
accountEmailAddress = mail
Kiedy próbuję zalogować się używając mojego konta pojawia się następujący wyjątek w etc/error_log
:
[2012-05-04 10:03:04,595] ERROR com.google.gerrit.server.auth.ldap.LdapRealm : Cannot query LDAP to autenticate user
javax.naming.NamingException: [LDAP: error code 1 - 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece^@]; remaining name 'CN=Users,DC=mycompany,DC=com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3072)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2978)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2785)
at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1839)
at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1762)
at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1779)
[...]
Czy ktoś skonfigurował podobną konfigurację, która może pomóc?
Niestety, które powinny już zmieniony na "mojafirma". Nazwa wyróżniająca mojego użytkownika to z pewnością 'CN = adam, CN = Użytkownicy, DC = mojafirma, DC = com', ponieważ działa ona w komendzie ldapsearch, ale nie w Gerrit. –