没有与Gerrit关联的LDAP组

时间:2018-07-06 18:06:33

标签: ldap gerrit

我正在尝试建立一个与我们的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 = group
  • 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 =最后一个。
  • 它们有许多memberOf字段,这些字段列出了cn,ou,dc,dc。

因此,如果用户查询正常,并且似乎正在使用基准,然后从那里进行搜索,并使用帐户模式填写用户名,我会想象同样会找到用户的组列表属于。

我希望这种方法能起作用,是当用户使用LDAP凭据登录时,通过gerrit界面查看组时,他们应该看到相同的LDAP组。我不确定这是否正确。我也对gerrit如何在查询中实际使用这些变量感到困惑。如果有人有任何想法或可以指出正确的方向,我将不胜感激。

我确实意识到这里和其他地方还有其他一些与Gerrit / LDAP相关的问题,但是它们似乎主要集中在让用户登录上,这是我能做的,而这些组是我遇到的问题。

1 个答案:

答案 0 :(得分:1)

My -> Groups页仅列出内部组;它不包括LDAP等外部系统中的组。