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.