Questão Configurações LDAP: não foi possível autenticar o usuário


ldapsearch funciona como esperado

ldapsearch -D "CN=Ldap,OU=administrative,OU=usr,OU=Exchange,DC=company,DC=local" -x -h draco.company.com -b DC=company,DC=local -W -

gitlab.rb

gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main:
    label: 'Company LDAP'
    host: 'draco.company.com'
    port: 389
    uid: 'ldap'
    method: 'plain'
    bind_dn: 'OU=usr,OU=Exchange,DC=company,DC=local'
    password: 'secret'
    active_directory: true
    allow_username_or_email_login: false
    base: 'OU=usr,OU=Exchange,DC=company,DC=local'
EOS

Mensagem de erro: Não foi possível autorizá-lo do Ldapmain porque "Credenciais inválidas".

Existem configurações adicionais que estou perdendo?

Saudações


1


origem


Invólucro de bind_dn e base acabou por ser o meu problema. Eles são sensíveis a maiúsculas e minúsculas. Eu tinha cn minúsculo, ou, etc, mas o meu servidor AD esperava maiúsculas CN, OU, etc Usando o AD para me dizer exatamente o que esperava me ajudou. - Jeremy Cook


Respostas:


Solução

gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main:
    label: 'Company LDAP'
    host: 'draco.company.com'
    port: 389
    uid: 'sAMAccountName'
    method: 'plain'
    bind_dn: 'CN=Ldap,OU=administrative,OU=usr,OU=Exchange,DC=company,DC=local'
    password: 'secret'
    active_directory: true
    allow_username_or_email_login: false
    base: 'OU=usr,OU=Exchange,DC=company,DC=local'
EOS

O uid é o nome da coluna em que o nome do usuário está armazenado.

bind_dn foi alterado para o nome completo qualificado do usuário ldap que pode se conectar ao AD e consultar todos os outros usuários.

Link Útil: https://raymii.org/s/tutorials/Gitlab_and_Active_Directory_LDAP_Authentication.html


2