我已安装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中使用他们各自的详细信息(一次一个)并运行{{ 1}}命令,它仅显示有关该特定用户的信息,而不显示所有用户。
之前,当我在gitlab.rb文件中配置了我的凭据(john.doe)时,gitlab-rake gitlab:ldap:check
显示了AD的前100个结果。由于这是我的个人凭证,我要求我的IT团队为GitLab创建一个新的AD用户(gitlab)。在gitlab.rb文件中配置新用户(gitlab)并运行gitlab-rake gitlab:ldap:check
后,它只显示该特定用户的记录。我认为这可能是由于新创建的用户的一些权限问题所以我在gitlab.rb中恢复了我的个人凭据。令人惊讶的是,现在当我运行gitlab-rake gitlab:ldap:check
时,我只为我的用户获得一条记录,而不是我之前获得的100条记录。这真是太奇怪了!我想,不知怎的,GitLab是&#34;忘记&#34;以前的细节。
真的很感激任何帮助。
答案 0 :(得分:0)
此问题现已解决。好像它是我正在使用的版本(8.0.2)中的一个错误。将其升级到8.0.5解决了我的问题。
此外,对我有用的 bind_dn 和 base 的值为:
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'