2016-07-28 106 views
2

我试图将gitlab配置为openldap来验证用户身份。我配置了openldap,并且它与Jenkins正常工作。但随着gitlab它给了错误Could not authenticate you from Ldapmain because "Invalid credentials".使用开放式LDAP配置GitLab

下面是gitlab.rb CONFIGS:

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: 'localhost' 
    port: 389 
    uid: 'uid' 
    method: 'plain' # "tls" or "ssl" or "plain" 
    bind_dn: 'cn=admin,dc=ldap,dc=com' 
    password: 'waqas' 
    active_directory: false 
    allow_username_or_email_login: true 
    #block_auto_created_users: false 
    base: 'cn=Appliance,dc=ldap,dc=com' 
    user_filter: '' 
# attributes: 
# username: ['uid', 'userid', 'sAMAccountName'] 
# email: ['mail', 'email', 'userPrincipalName'] 
# name:  'cn' 
#  first_name: 'givenName' 
#  last_name: 'sn' 
#  ## EE only 
# group_base: 'ou=W-Integrate,dc=ldap,dc=com' 
    #admin_group: 'cn=admin,dc=ldap,dc=com' 
#  sync_ssh_keys: false 
# 

EOS 

enter image description here 和我的OpenLDAP的画面拍摄也连接。任何人都可以纠正我做错了什么。

+0

它只是通过修改基地DN的工作? – VonC

+0

是的,它就像一个魅力..感谢 –

+0

\ o /,或者更确切地说:9(。•‿•。)6 – VonC

回答

2

你的碱不应该是一个用户(或inetOrgPerson,用户cn=Appliance的基团),它应限于dc entriesa base dn

base: 'dc=ldap,dc=com' 

这从bind_dn,结合帐户,该帐户不参考一个不同用户:bind_dn: 'cn=admin,dc=ldap,dc=com':那里有一个cn