我正在使用Gerrit和LDAP身份验证。我的gerrit配置就像:
server = ldap://192.168.1.100:389
username = cn=admin,dc=doman,dc=com,dc=cn
groupsVisibleToAll = true
accountBase = ou=Users,dc=domain,dc=com,dc=cn
accountScope = subtree
accountPattern = (&(objectClass=inetOrgPerson)(uid=${username}))
accountFullName = sn
accountEmailAddress = mail
accountSshUserName = uid
#accountMemberField = memberOf
#accountMemberExpandGroups = true
#fetchMemberOfEagerly = true
groupBase = ou=Groups,dc=domain,dc=com,dc=cn
groupScope = subtree
groupPattern = (&(objectClass=groupOfUniqueNames)(cn=${groupname}))
groupMemberPattern = (&(objectClass=groupOfUniqueNames)(uniqueMember=${dn}))
groupName = cn
LDAP树就像:
+--> dc=domain,dc=com,dc=cn (3)
---> cn=admin
+--> ou=Groups (2)
| ---> cn=admin
| ---> cn=dev
+--> ou=Users (3)
| ---> cn=gerrit
| ---> cn=jenkins
| ---> cn=test
我自己相对于LDAP添加memberOf
,组对象类是groupOfUniqueNames
,用户对象类是inetOrgPerson。
groupOfUniqueNames
包含一个属性`````uniqueComber,其中包含dn
组用户。 inetOrgPerson
包含属性memberOf
是其组的dn。
但是当我添加accountMemberField
时我无法登录。并且LDAP组没有显示在gerrit中。
Doc:https://gerrit-review.googlesource.com/Documentation/config-gerrit.html#ldap
答案 0 :(得分:1)
如果可以使用LDAP帐户登录Gerrit。只需转到Gerrit项目访问权限,即可使用ldap/*
添加LDAP组。 *是LDAP组名称。