Я использую 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
Я добавляю memberOf
относительно самого LDAP, класс группового объекта равен groupOfUniqueNames
, пользователькласс объекта - inetOrgPerson.groupOfUniqueNames
содержит атрибут `` `` `` uniqueMember, который содержит dn
групп пользователей.inetOrgPerson
содержит атрибут memberOf
- это номер его группы.
Но я не могу войти, когда добавляю accountMemberField
.И группы LDAP не отображаются в gerrit.
Док: https://gerrit -review.googlesource.com / Documentation / config-gerrit.html # ldap