我正在尝试将 Gitlab 连接到我们的 Active Directory。我已连接到 LDAP,授权成功,但有权访问 Gitlab 的用户列表为空。
gitlab 配置如下所示:
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server#
label: 'MyDomain'
host: '192.168.62.5'
port: 389
uid: 'administrator'
bind_dn: 'administrator@my_domain.local'
password: 'real_password'
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: 'OU=Benutzer,OU=DOMAIN,dc=my_domain,dc=local'
user_filter: ''
attributes:
username: ['uid', 'userid', 'sAMAccountName']
email: ['mail', 'email', 'userPrincipalName']
name: 'cn'
first_name: 'givenName'
last_name: 'sn'
EOS
当我运行时,gitlab-rake check:ldap:gitlab
结果是:
如您所见,没有返回任何用户。我也尝试了不同的用户过滤器,但总是会导致错误Invalid filter syntax
。当我user_filter
完全删除该属性时,用户列表也是空的。
包含base_dn
域中的所有用户,我正在使用 Active DirectoryWindows Server 2008 R2。
我错过了什么?
答案1
uid 属性定义了在 gitlab 中用作 uid 的 ldap 属性。我为此使用了 sAMAccountName。这样我就可以用我的 Windows 用户登录了。