Gerrit和Active Directory

Ada*_*ger 9 git ldap active-directory gerrit

我正在尝试将Gerrit设置为使用我们的企业Active Directory进行身份验证.我知道有很多人设法让这个工作,但它对我不起作用.

如果我运行ldapsearch如下命令,我得到正确的结果,所以我知道我的搜索字符串是正确的:

ldapsearch -h myserver -b "CN=Users,DC=mycompany,DC=com" -D "CN=adam,CN=Users,DC=mycompany,DC=com" -w mypassword "(sAMAccountName=adam)"
Run Code Online (Sandbox Code Playgroud)

但是在我的Gerrit配置中使用这些相同的设置不起作用:

[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
Run Code Online (Sandbox Code Playgroud)

当我尝试使用我的帐户登录时,我得到以下异常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)
    [...]
Run Code Online (Sandbox Code Playgroud)

有没有人设置类似的配置,可能会有所帮助?

Ada*_*ger 4

对不起,伙计们,这是我的错。在我的配置中,我使用ldap.user作为我的设置名称而不是ldap.username. 一旦我改变了我的 AD 绑定就可以正常工作了。