/ / LDAP obtém o DN dos usuários por nome de usuário e nome de domínio - active-directory, ldap

LDAP obtém o DN dos usuários por nome de usuário e nome de domínio - active-directory, ldap

Eu tenho alguns problemas de compreensão do LDAP. Quando eu uso um servidor do Active Directory eu posso ligar com username @ domain e uma senha.

Quando eu uso o ApacheDS, devo fornecer o DN completo do usuário e uma senha.

Então eu tenho as seguintes perguntas:

  • Como faço para descobrir o completo dn de um usuário em um servidor ApacheDS com privilégios anônimos e somente o conhecimento do nome de usuário, domínio (e senha)?
  • Isso é possível? O servidor ApacheDS é mesmo feito para ser um
  • alternativa ao Active Directory?

Respostas:

1 para resposta № 1

Geralmente, a autenticação LDAP é feita em duas etapas:

  1. Mapear um dado identificador de usuário exclusivo (uid) para seu nome distinto usando uma operação de pesquisa com um filtro como (&(objectClass=user)(uid=%s))
  2. Use uma operação de ligação com esse dn para autenticar em seu servidor LDAP.

O Active Directory vem com um recurso prático: você pode vincular usando um par de identificadores suportados e o AD fará o mapeamento internamente para você.

O ApacheDS não é um substituto plug-and-play para o AD, mas é extensível. Um desenvolvedor Java pode escrever facilmente um interceptador de autenticação fornecendo o mesmo mapeamento interno do AD.


1 para resposta № 2

Como o marabu disse, você pode simular a autenticação usando uma pesquisa no diretório antes de fazer a ligação.

Você também pode procurar por autenticação SASL, que fornece outras formas de autenticação.

Aqui está uma lista do mecanismo SASL suportado pelo ApacheDS: http://directory.apache.org/apacheds/advanced-ug/4.1.2-sasl-authn.html