2016-07-28 30 views
2

Ich versuche, meine gitlab mit openldap zu konfigurieren, um die Benutzer zu authentifizieren. Ich habe die Openldap konfiguriert und es funktioniert gut mit Jenkins. Aber mit gitlab wird es den Fehler zu geben, dass Could not authenticate you from Ldapmain because "Invalid credentials".Konfigurieren Sie GitLab mit offenem LDAP

Im Folgenden sind die 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 Und ist mein openLDAP- Bildschirm schießen auch angebracht. kann mir jemand korrigieren, was ich falsch mache.

+0

Hat es funktioniert, nur durch Ändern der Basis dn? – VonC

+0

Ja, es funktioniert wie ein Zauber ... danke –

+0

\ o /, oder besser: 9 (. • ‿ •.) 6 – VonC

Antwort

2

Ihre Basis sollte kein Benutzer sein (oder inetOrgPerson, Benutzergruppe cn=Appliance), sollte es zu dc entries für a base dn begrenzt:

base: 'dc=ldap,dc=com' 

Dieses von bind_dn unterscheiden, die Bindung Konto, das Bezugs ein tut user: bind_dn: 'cn=admin,dc=ldap,dc=com': dort ist ein cn da.