本例使用的是微软的活动目录(AD)对用户进行认证,LDAP也类似,各位看官自行变通即可。
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'Epermarket.com'
host: '10.150.3.2'
port: 389
uid: 'sAMAccountName'
bind_dn: 'cn=admin,cn=users,dc=epermarket,dc=com'
password: '123'
encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
verify_certificates: true
smartcard_auth: false
active_directory: true
allow_username_or_email_login: true
lowercase_usernames: false
block_auto_created_users: false
base: 'cn=users,dc=epermarket,dc=com'
user_filter: ''
## EE only
group_base: ''
admin_group: ''
sync_ssh_keys: false
EOS
1.host,微软域服务器的ip,根据实际情况修改;
2.uid,必须配sAMAccountName
才能识别;
3.bind_dn,域服务器的管理员账号,根据实际情况修改;
4.password,域服务器的管理员,根据实际情况修改;
5.active_directory,似乎是针对连接是否是ad域控的标示,因为这部分是域服务器的配置,故为true;
6.allow_username_or_email_login,用户登录是否用户名和邮箱都可以,方便用户故配置true;
7.base,用户列表所在的目录,根据实际情况修改;
重新加载配置
gitlab-ctl reconfigure
检查是否能获取AD用户
gitlab-rake gitlab:ldap:check
能看到用户表示OK
网页上使用域用户登陆