2013-08-11 7 views
8

Występuje problem z wykorzystaniem LDAP do uwierzytelniania logowania.Zaloguj się do ldap z uid zamiast cn na wejściu DN

już stworzył użytkownikowi wszystkich podstawowych informacji i spróbuj zalogować się przez phpldapadmin o szczegółach:

Login DN: cn=Sample User,ou=people,dc=example,dc=om 
Password: xxxx 

to może zalogować.

Ale gdy próbuję skorzystać z tego:

Login DN: uid=sampleuser,ou=people,dc=example,dc=om 
Password: xxxx 

to nigdy nie działa (nie mogę się zalogować).

Proszę mi powiedzieć, co mam skonfigurować?

+0

Czy ten drugi wpis istnieje w LDAP? Z tym hasłem? – EJP

+0

Tak, jak wspomniałem powyżej, że ustawiłem wszystkie podstawowe informacje (wpis), takie jak givenName, sn, mail, itp. –

+0

Nie, nie wspomniałeś o tym powyżej: właśnie dlatego pytam. Fakt, że zaakceptowałeś odpowiedź, która stwierdza, że ​​ona nie istnieje, dowodzi tego. – EJP

Odpowiedz

19

Jeśli klient LDAP używa prostej operacji BIND, musi istnieć nazwa wyróżniająca BIND. Prosta operacja BIND przyjmuje jako argumenty przynajmniej nazwę wyróżniającą i hasło.

Rozważmy następujące wpisy:

dn: cn=sample user,ou=people,dc=example,dc=com 
objectClass: top 
objectClass: inetOrgPerson 
cn: sample user 
uid: sampleuser 

nie to samo wejście jak:

dn: uid=sampleuser,ou=people,dc=example,dc=com 
objectClass: top 
objectClass: inetOrgPerson 
cn: sample user 
uid: sampleuser 

chociaż atrybuty są identyczne (SN, który jest wymagany przez inetOrgPerson jest pominięte w tym przykład). N DN jest kluczem podstawowym i musi być używany z prostą operacją BIND. Powyższe wpisy stanowią dwa pełne oddzielne wpisy z dwoma różnymi nazwami DN.

+0

tq u na wyjaśnienia, pomaga mi dużo! –

0

Wiem, że jest nieco przestarzały, ale miałem do czynienia z tym samym problemem. Rzecz w tym, że Terry opisał, że pełne dn są różne. Możesz to naprawić, zmuszając phpldapadmin do tworzenia użytkowników z uid jako pierwszym kluczem w dn.

można zmienić

<rdn>cn</rdn> 

do

<rdn>uid</rdn> 

w pliku

/etc/phpldapadmin/templates/creation/posixAccount.xml 

To stworzy każdą posixAccount jak:

dn: uid=sampleuser,ou=people,dc=example,dc=com 
Powiązane problemy