0

我已经安装了 GitLab Omnibus Community Edition 8.0.2 用于评估目的。我正在尝试将 Gitlab(AWS 上的 Linux AMI)与我们在 Win 2008 R2 上运行的本地 LDAP 服务器连接起来。但是,我无法这样做。我收到以下错误(无法从 Ldapmain 授权您,因为“凭据无效”):

在此处输入图像描述

这是我在 gitlab.rb 中用于 LDAP 的配置

 gitlab_rails['ldap_enabled'] = true
 gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' below
 main: # 'main' is the GitLab 'provider ID' of this LDAP server
     label: 'LDAP'
     host: 'XX.YYY.Z.XX'
     port: 389
     uid: 'sAMAccountName'
     method: 'plain' # "tls" or "ssl" or "plain"
     bind_dn: 'CN=git lab,OU=users,OU=Service Accounts,OU=corp,OU=India,OU=Users,OU=UserId&Rooms,DC=india,DC=local'
     password: 'pwd1234'
     active_directory: true
     allow_username_or_email_login: true
     base: 'CN=git lab,OU=users,OU=Service Accounts,OU=corp,OU=India,OU=Users,OU=UserId&Rooms,DC=india,DC=local'
     user_filter: ''
 EOS

有两个用户:gitlab(新创建的AD用户)和john.doe(老AD用户)

两个用户都可以使用ldapsearch命令查询所有AD 用户,但是当我在 gitlab.rb 中使用他们各自的详细信息(一次一个)并运行命令时,它只显示有关该特定用户而不是所有用户的信息。gitlab-rake gitlab:ldap:check

早些时候,gitlab-rake gitlab:ldap:check当我的凭证(john.doe)在 gitlab.rb 文件中配置时,显示来自 AD 的前 100 个结果。由于这是我的个人凭证,我要求我的 IT 团队为 GitLab 创建一个新的 AD 用户 (gitlab)。在我在 gitlab.rb 文件中配置新用户(gitlab)并运行gitlab-rake gitlab:ldap:check后,它只显示该特定用户的记录。我认为这可能是由于新创建的用户的一些权限问题,所以我在 gitlab.rb 中恢复了我的个人凭据。令人惊讶的是,现在当我运行时gitlab-rake gitlab:ldap:check,我只为我的用户获得了一条记录,而不是我之前获得的 100 条记录。这真的很奇怪!我认为,不知何故,GitLab 正在“忘记”以前的细节。

任何帮助将不胜感激。

4

1 回答 1

0

现在问题已经解决了。似乎这是我使用的版本(8.0.2)中的一个错误。将其升级到 8.0.5 解决了我的问题。

此外,对我有用的bind_dnbase的值是:

bind_dn: 'CN=git lab,OU=users,OU=Service Accounts,OU=corp,OU=India,OU=Users,OU=UserId&Rooms,DC=india,DC=local'

base: 'OU=users,OU=Service Accounts,OU=corp,OU=India,OU=Users,OU=UserId&Rooms,DC=india,DC=local'
于 2015-11-14T19:29:29.500 回答