Problemas do OpenLDAP Authentication UID vs CN

3

Estou tendo problemas para autenticar serviços usando o uid para autenticação, que eu considero o método padrão para autenticação no usuário. Então, basicamente, meus usuários são adicionados no ldap assim:

# jsmith, Users, example.com
dn: uid=jsmith,ou=Users,dc=example,dc=com
uidNumber: 10003
loginShell: /bin/bash
sn: Smith
mail: [email protected]
homeDirectory: /home/jsmith
displayName: John Smith
givenName: John
uid: jsmith
gecos: John Smith
gidNumber: 10000
cn: John Smith
title: System Administrator

Mas quando tento autenticar usando serviços web ou serviços típicos como este:

jsmith
password

Eu recebo:

ldapsearch -x -h ldap.example.com -D "cn=jsmith,ou=Users,dc=example,dc=com" -W -b "dc=example,dc=com"
Enter LDAP Password:
ldap_bind: Invalid credentials (49)

Mas se eu usar:

ldapsearch -x -h ldap.example.com -D "uid=jsmith,ou=Users,dc=example,dc=com" -W -b "dc=example,dc=com"

Funciona.

NO ENTANTO ... a maioria dos webapps e métodos de autenticação parecem usar outro método. Então, em um webapp que estou usando, a menos que eu especifique o usuário como: uid=smith,ou=users,dc=example,dc=com Nada funciona.

No webapp eu só preciso que os usuários coloquem: jsmith no campo do usuário.

Tenha em mente que meu ldap está usando o método "%"cn=config de armazenar configurações. Então, se alguém tem um ldif óbvio que eu estou ausente, por favor, forneça.

Deixe-me saber se você precisar de mais informações. Este é o OpenLDAP no Ubuntu 12.04.

    
por TagWolf 14.11.2012 / 11:18

1 resposta

2

A ferramenta ldapsearch no seu exemplo usa o BIND simples para alterar o estado de autorização da conexão. A operação simples do BIND requer o nome distinto e credenciais. O nome distinto é uid=jsmith,ou=Users,dc=example,dc=com , não cn=jsmith,ou=Users,dc=example,dc=com na entrada fornecida como exemplo.

Essa configuração do servidor de diretórios faz com que o servidor retorne o código de resultado para invalid credentials quando, na verdade, o nome distinto cn=jsmith,ou=Users,dc=example,dc=com não existe. Esta é a configuração recomendada: fornece menos informações para um invasor.

    
por 15.11.2012 / 10:39