Por que o usuário @ domain e cn = user, dc = domain não são equivalentes?

1

Eu configurei um AD simples na AWS para que eu possa finalmente autenticar com o LDAP. Não entendi porque não consegui usar dc= , o que é amplamente sugerido em todos os lugares, mas posso usar @domain .

ldap_bind($ldapconn, "cn=Administrator,dc=ldap,dc=patontheback,dc=org", "<password>");
ldap_bind($ldapconn, "[email protected]", "<password>");

Estes não devem ser equivalentes? O @domain sempre funcionará ou específico para o Simple AD?

    
por Kit Sunde 09.05.2016 / 16:58

2 respostas

3

O OP deu informações adicionais sobre a localização do usuário Administrador, então ele tem que usar cn=Administrator,ou=Users,dc=ldap,dc=pathontheback,dc=org

EDITAR: Feito um erro de digitação, tem que ser: cn=Administrator,cn=Users,dc=ldap,dc=pathontheback,dc=org

Os usuários são um contêiner, não uma OU.

    
por 09.05.2016 / 17:28
3

Um bit de leitura no LDAP e os DNs podem estar em ordem aqui.

A distinguished name (usually just shortened to DN) both uniquely identifies an entry and describes its position in the DIT. A DN is much like an absolute path on a filesystem, except whereas filesystem paths usually start with the root of the filesystem and descend the tree from left to right, LDAP DNs ascend the tree from left to right.

Portanto, se você quiser especificar o DN da conta de administrador em seu domínio, precisará especificar o caminho completo (e correto) para ele. Como sua captura de tela mostra (e o fato de ser padrão no AD), a conta do administrador está no contêiner Usuários.

Note que usei a palavra container e não OU. Nem todos os contêineres do AD são uma OU e a maioria dos que não existem na verdade. Você pode ver rapidamente comparando o ícone de Users com o ícone de Domain Controllers . Se isso for muito sutil, você também poderá verificar o atributo objectClass real para cada um. As UOs conterão organizationalUnit e os contêineres normais terão container . Em um valor de DN, as UOs têm "OU=" como sua chave RDN, e os contêineres têm "CN=" como sua chave RDN.

De qualquer forma, você não precisa realmente descobrir tudo manualmente quando procura algo do DN no dia-a-dia. Basta abrir (ou consultar) as propriedades do objeto que você está procurando e verificar o atributo distinguishedName . Isso lhe dará o caminho completo e correto sem tentar agrupar manualmente um monte de RDNs e contextos.

TL; DR O DN da conta de administrador em seu domínio de exemplo é CN=Administrator,CN=Users,DC=ldap,DC=patontheback,DC=org

Dito isso, é uma prática melhor continuar fazendo o que você está fazendo e usar o UPN ([email protected]) para vincular contas ao AD porque é menos provável que elas mudem que um valor DN.

    
por 09.05.2016 / 18:38