Autenticação do Active Directory com o Apache: por que preciso usar um nome completo (usuário no domínio)?

3

Usamos o Apache 2.2 para autenticação no Active Directory. A configuração é a seguinte:

AuthFormLDAPURL "ldap://*.*.*.*:389/DC=domain,DC=com?userPrincipalName,sAMAccountName?sub?(objectClass=*)"

Nota: Todos os traços abaixo usando WireShark.

Eu defini o usuário john quando o CN é igual ao nome sAMAcountMame:

Eupossoautenticarusandoapenasjohn(sAMAcountMame).Porfavor,encontrarabaixoopedidodeligaçãoLDAP:

Resposta de ligação do LDAP:

EntãoeudefiniousuáriojohndquandooCNNÃOéigualaonomesAMAcountMame:

Infelizmente, não consigo autenticar usando johnd (sAMAcountMame). Por favor, encontrar abaixo o pedido de ligação LDAP:

RespostadeligaçãodoLDAP:

Eu posso autenticar usando um nome completo [email protected]. Por favor, encontrar abaixo o pedido de ligação LDAP:

RespostadeligaçãodoLDAP:

Perguntas:

  1. Por que não posso autenticar usando sAMAcountMame quando o CN NÃO é igual ao sAMAcountMame?
  2. Por que eu posso autenticar usando sAMAcountMame no domínio neste caso?
  3. Recomendamos aos nossos usuários sempre autenticar usando o sAMAcountMame no domínio para evitar problemas de autenticação?

Obrigado pela sua ajuda!

    
por Michael 03.05.2013 / 11:34

1 resposta

3

Ao executar uma ligação simples LDAP, o AD não tenta corresponder o nome passado ao atributo sAMAccountName sem nenhum sufixo. No entanto, ele poderia tentar encontrar uma correspondência com displayName , que funcionou para você no primeiro teste (onde parecia uma correspondência com sAMAccountName , porque os valores desses atributos eram os mesmos).

A descrição precisa das regras de correspondência de nomes usadas ao lidar com ligações simples LDAP pode ser encontrada na documentação da Microsoft: link

O uso de UPN é provavelmente mais confiável, porque displayName pode conter algumas cadeias legíveis por humanos (por exemplo, nome completo de uma pessoa) e não é garantido que seja exclusivo. O formulário DOMAIN \ USERNAME também deve ser exclusivo, mas depende dos nomes de domínio NetBIOS, que são considerados obsoletos agora.

    
por 05.05.2013 / 14:15