2016-07-28 4 views
2

Я пытаюсь настроить мой gitlab с помощью openldap для аутентификации пользователей. Я настроил openldap, и он отлично работает с Jenkins. Но с gitlab он дает ошибку, что Could not authenticate you from Ldapmain because "Invalid credentials".Настроить GitLab с открытым LDAP

Ниже приведены gitlab.rb конфиги:

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 entries для a base dn:

base: 'dc=ldap,dc=com' 

Это отличается от bind_dn, связывающего счета, который делает опорный сигнал пользователь: bind_dn: 'cn=admin,dc=ldap,dc=com': там есть cn.

 Смежные вопросы

  • Нет связанных вопросов^_^