我已经花了至少两天时间尝试使用 Active Directory 来实现这一点。
当我运行此命令时看到结果:
sudo gitlab-rake gitlab:ldap:check RAILS_ENV=production Checking LDAP ...
Server: ldapmain
LDAP authentication... Success
LDAP users with access to your GitLab server (only showing the first 100 results)
Checking LDAP ... Finished
但是我无法使用 AD 用户登录,它说凭据无效。这是我的配置文件 (/etc/gitlab/gitlab.rb)
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-EOS
main:
label: 'Active Directory'
host: 'dc.example.com'
port: 389
uid: 'sAMAccountName'
encryption: 'plain'
bind_dn: '[email protected]'
password: 'userldap_password'
active_directory: true
allow_username_or_email_login: false
block_auto_created_users: false
base: 'ou=Users,DC=example,DC=com
EOS'
它运行在 CentOS 7 上。请帮忙。
提前致谢。
亲切的问候
答案1
首先确保它是ActiveDirectory
而不是Active Directory
。
其次,您可以定义一个超时,例如:timeout: 10
可能是因为您的 ldap 成功了,您可能需要检查您的 user_filter 或您的基本 DN。
此外,配置文件对空间敏感:
- main 之前有一个空格
- main 下每行前 2 个空格
- EOS 前没有空格
另外,在你做出改变后,一定要gitlab-ctl 重新配置。