Gerrit et Active Directory
Je suis en train de configurer Gerrit à l'utilisation de notre entreprise, Active Directory pour l'authentification. Je connais beaucoup de gens qui ont réussi à obtenir que cela fonctionne mais il ne va pas fonctionner pour moi.
Si je lance un ldapsearch
commande comme suit-je obtenir le résultat correct, donc je sais que mon chaînes de recherche sont corrects:
ldapsearch -h myserver -b "CN=Users,DC=mycompany,DC=com" -D "CN=adam,CN=Users,DC=mycompany,DC=com" -w mypassword "(sAMAccountName=adam)"
Mais l'utilisation de ces mêmes paramètres dans mon Gerrit config ne fonctionne pas:
[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
Quand j'essaie de me connecter avec mon compte, j'obtiens l'exception suivante dans 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)
[...]
Quelqu'un a mis en place une configuration similaire qui pourrait être en mesure d'aider?
OriginalL'auteur Adam Rodger | 2012-05-04
Vous devez vous connecter pour publier un commentaire.
Désolé les gars, ma faute. Dans ma config, je suis en utilisant
ldap.user
que mon nom au lieu deldap.username
. Une fois que j'ai changé mon ANNONCE liaison fonctionne correctement.OriginalL'auteur Adam Rodger
Dans votre exemple, vous utilisez
"CN=adam,CN=Users,DC=myusers,DC=com"
, mais le message d'erreur indique que le nom unique doit être quelque chose comme...,CN=Users,DC=NRII,DC=com
. Vérifiez que les objets de base que vous spécifiez dans la configuration sont corrects, par exemple, dont l'entrée estcn=adam
subalternes?CN=adam,CN=Users,DC=mycompany,DC=com
depuis qui travaille à la commande ldapsearch, mais pas dans Gerrit.OriginalL'auteur Terry Gardner
L'erreur est que vous essayez de rechercher sans liaison, mais c'est ce que votre LDAP application est censé faire pour vous, ainsi Gerrit devraient avoir utilisé les infos fournies, lié, puis cherché. Mais l'erreur implique qu'il est de sauter une étape.
OriginalL'auteur geoffc
J'ai eu du mal à le faire fonctionner ( Gerrit 2.13.1 ). À cette époque, j'étais dans un très réglementé de la société, de sorte que je n'ai pas osé demander la création d'un utilisateur dédié pour Gerrit sur la société de l'Active Directory.
Malheureusement, la norme de l'utilisateur processus de création de cette société ( dans Windows ? ) a été nom et prénom, conduisant à une ANNONCE comme nom d'utilisateur:
CN=Doe, John,OU=EvilCorp Utilisateurs,DC=foo,DC=bar,DC=corp
Expert yeux verraient des problèmes peut-être par le caractère espace dans OU=EvilCorp Utilisateurs mais c'est la virgule
dans le LastName, FirstName motif comme CN=Doe, John qui a créé le problème.
Une fois que j'ai eu mon Gerrit dédié créé par l'utilisateur (GerritUser, sans prénom), la ligne:
nom d'utilisateur = CN=GerritUser,OU=EvilCorp Utilisateurs,DC=foo,DC=bar,DC=corp
a été accepté et j'ai été capable de me connecter avec mon habitude personnelle de Windows /AD id d'utilisateur et le mot de passe.
Noter que la gerrit.fichier de config est déclaré invalide si vous essayez d'échapper à la virgule comme CN=Doe\, John... avec ou sans guillemets doubles "
Il est clair pour une regex écrivain que la découpe de la virgule seulement serait plus pratique.
Remarque: testé avec gerrit sur Windows
Résumé de etc/gerrit.config
Résumé de etc/secure.config
OriginalL'auteur NGI