ruby-on-rails - 没有服务器端访问的Gitlab LDAP(Active Directory)身份验证

ruby-on-rails - 没有服务器端访问的Gitlab LDAP(Active Directory)身份验证,第1张

我在RHEL 6.6上使用GitLab Omnibus 7.10.0。我使用以下配置启用了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: 'FOO COM Active Directory (LDAP)'
 host: 'ad.server.foo.com'
 port: 3268
  uid: 'someuser'
 method: 'plain' # "tls" or "ssl" or "plain"
 bind_dn: 'CN=My Whole. Name,OU=Some Users,DC=ad,DC=server,DC=foo,DC=com'
 password: 'thepassword'
 active_directory: true
 allow_username_or_email_login: false
 block_auto_created_users: false
 base: 'DC=ad,DC=server,DC=foo,DC=com'
 user_filter: ''
#     ## EE only
#     group_base: ''
#     admin_group: ''
#     sync_ssh_keys: false
#
#   secondary: # NOT FILLED OUT
EOS

我的问题是我无法让用户通过LDAP进行身份验证。我不确定配置是否错误,或者我需要在服务器端执行某些操作(我无法直接访问)。我跑的时候

gitlab-rake gitlab:ldap:check RAILS_ENV=production

我明白了

Checking LDAP ...

LDAP users with access to your GitLab server (only showing the first 100 results)
Server: ldapmain 

Checking LDAP ... Finished

我可以使用此帐户(我的个人帐户)或另一个帐户搜索不同应用程序的个人用户,但无法使用gitlab进行AD操作。我通过在Windows机器上运行此命令获得了bind_dn“我的整个。名称”。     gpresult -r

我也尝试了一个bind_dn:

uid=myADaccountname,OU=Some Users,DC=ad,DC=server,DC=foo,DC=com
and 
myADaccountname@ad.server.foo.com

但我仍有同样的问题。

最佳答案:

2 个答案:

答案 0 :(得分:2)

对于Active Directory,uid应为:

uid: 'sAMAccountName'

Gitlab应该使用bind_dn中指定的用户使用给定的密码进行连接。

答案 1 :(得分:0)

自GitLab 9.5.1起,uid现在需要[ ]

请参阅此问题:https://gitlab.com/gitlab-org/gitlab-ce/issues/37120 这可能只是一个将被修复的错误。

我必须将Active Directory的值从上面的答案更新为:

uid: ['sAMAccountName']

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复