【发布时间】:2018-12-15 09:02:19
【问题描述】:
我正在尝试设置与我们的 LDAP 服务器通信的 gerrit 实例。
我可以使用 ldap 凭据登录,但是当我导航到我的 -> 组时,我看不到任何组。我尝试使用“groupMemberPatter”变量,但确实收到一条错误消息,指出 LDAP 后端不支持它。这是我的 ldap 和 auth 配置:
[auth]
type = ldap
[ldap]
server = ldap://ldapserverip
accountBase = DC=myorg,DC=local
accountPattern = (&(objectClass=person)(sAMAccountName=${username}))
groupBase = OU=DevGroups,DC=myorg,DC=local
groupPattern = (&(objectClass=group)(cn=${groupname}))
fetchMemberofEagerly = true
groupName = cn
username = CN=MyFirst MyLast,CN=Users,DC=myorg,DC=local
accountMemberField = memberOf
referral = follow
groupsVisibleToAll = true
localUsernameToLowerCase = true
我确实在secure.config 文件中有密码,而且它似乎会进行查询,因为它确实允许用户登录。我只是在获取实际组时遇到了麻烦。
我对 LDAP 或 Active Directory 不是很熟悉,但我正在通过 Apache Directory Studio 查看我们的 Active Directory,我确实可以看到如下所示的树:
Root
|- DC=myorg,DC=local
|- CN=Users
| |- CN=FirstName1 LastName1
| |- CN=FirstName2 LastName2
| | - ..
| | - CN=FirstName3 LastName3
|- OU=DevGroups
|- CN=Group1
|- CN=Group2
|- ..
|- CN=Group20
当我打开群组条目时,我可以看到
- objectClass=组
- objectCategory=CN=Group,CN=Schema,CN=Configuration,DC=myorg,DC=local
- cn 好像是组名
- 它确实有许多列出用户的“成员”字段
- sAMAccountName 也是组名
如果我查看他们拥有的用户
- objectClass=person
- cn=第一个最后一个
- ojbectCategory= cn=Person,CN=Schema,CN=Configuration,DC=myorg,DC=local,
- sAMAccountName=FirstLast。
- 他们有许多列 cn,ou,dc,dc 的 memberOf 字段。
因此,如果用户查询正在工作并且它似乎正在使用一个基础,然后从那里搜索并使用帐户模式来填写用户名,我想这同样适用于查找用户的组列表属于。
我希望这个工作的方式是当用户使用他们的 LDAP 凭据登录时,他们应该在通过 gerrit 界面查看他们的组时看到他们相同的 LDAP 组。我不确定这是否正确。我也有点困惑 gerrit 如何在查询中实际使用这些变量。如果有人有任何想法或可以指出我正确的方向,我将不胜感激。
我确实意识到这里和其他地方还有其他一些与 Gerrit/LDAP 相关的问题,但他们似乎主要关注的是让用户登录,我可以这样做,组是我遇到问题。
【问题讨论】: