Nome de Domínio do Active Directory para autenticação

6

Eu tenho um código que usa uma string ldap, um nome de usuário e uma senha e, em seguida, tenta autenticar com o servidor ldap. O nome de usuário pode ou não conter o nome de domínio. Por exemplo, "DOMAIN \ nome de usuário" ou "nome de usuário" era uma entrada válida para esse código.

Da string ldap, terei uma URL limpa, que pode se parecer com esta: LDAP: //servername.com/DC=...etc. Se eu dividir a parte do nome do servidor, eu recebo "servername.com" ou "servername.corp", ou algo assim. Mas se eu tentar entrar com servername.com \ username, ele não autentica. Então, uma opção é dividir o último ".", Se houver um. Isso é válido de uma perspectiva de diretório ativo? O que acontece se houver subdomínios como xyx.servername.com?

Devo admitir que não sei o suficiente sobre o diretório ativo para responder às perguntas acima, e não consigo encontrar a documentação que as explique. Alguma documentação que apóie sua resposta realmente ajudaria!

    
por Case 31.07.2012 / 01:32

2 respostas

5

Quando um login é apresentado como DOMAIN\user , DOMAIN é o nome NETBIOS do domínio do AD. Isso é normalmente o subdomínio mais baixo do domínio, mas pode ser qualquer coisa . A outra maneira válida de apresentar o nome é com um sufixo UPN, ou seja, [email protected] . O problema com isso é que um administrador pode ter vários UPNs em um domínio, embora o padrão seja o FQDN.

Basicamente, se você controlar o AD, você deve saber disso. Se você não fizer isso, então você não pode ter certeza.

    
por 31.07.2012 / 01:40
4

Ao examinar a origem da autenticação LDAP para vários pacotes de código aberto, a grande maioria executará a autenticação LDAP em poucas etapas. Este método geralmente é usado com mais freqüência e funciona para a maioria das implementações LDAP, incluindo o AD.

  • O cliente primeiro se conectará e ligará a um usuário predefinido usando o nome distinto e senha.
  • O sistema executará uma pesquisa no diretório usando as credenciais genéricas para localizar o nome distinto do usuário que está tentando autenticar
  • Se um objeto de usuário válido for encontrado, a conexão inicial será fechada e o cliente tentará se reconectar e ligar usando o nome distinto que foi encontrado e a senha fornecida pelo usuário.

Com o AD, é possível fazer a autenticação sem usar o DN completo, mas esse método não serve para alguns outros servidores LDAP, portanto, não é usado com tanta frequência.

    
por 31.07.2012 / 01:52