Napisałem różne fragmenty kodu, które łączą się z serwerami LDAP i uruchamiają zapytania, ale zawsze było to dla mnie voodoo. Jedną rzeczą, której tak naprawdę nie rozumiem, jest koncepcja wiążącej nazwy wyróżniającej. Oto przykład użycia ldapsearch
narzędzia wiersza polecenia dostępnego w openldap. (Zignoruj brak uwierzytelnienia).
ldapsearch -h 1.2.3.4 -D dc=example,dc=com [query]
Jaki jest cel i funkcja tej -D dc=example,dc=com
części? Dlaczego musimy powiązać z określoną lokalizacją w hierarchii katalogów? Czy ma to ustalić, do której części katalogu powinny mieć zastosowanie moje zapytania? Np. Jeśli węzłem głównym katalogu jest dc=com
i ma dwoje dzieci ( dc=foo
i dc=bar
), może chcę, aby moje zapytania dc=foo,dc=com
dotyczyły poddrzewa, a nie dc=bar,dc=com
poddrzewa?
Nie daj się pomylić między baseDN a bindDN .
The nazwa wyszukiwania jest punktem początkowym. Gdzie rozpocznie wyszukiwanie. Dość oczywiste.
The DN bindDN jest w zasadzie poświadczeniem używanym do uwierzytelniania na podstawie LDAP. Kiedy używasz bindDN, zwykle towarzyszy mu hasło.
Innymi słowy, gdy określisz bindDN, używasz dostępu do zabezpieczeń tego obiektu, aby przejść przez drzewo LDAP.
Teraz ciąg dc = przykład, dc = com nie jest najlepszym przykładem dla bindDN, ponieważ jest „domeną” dla drzewa LDAP. dc oznacza komponent domeny i każde drzewo LDAP definiuje swój katalog główny ciągiem w postaci dc = ciąg, dc = ciąg, ... Ale te ciągi nie są „ścieżką” jak reszta drzewa.
Prawidłowe przykłady to:
Ale te podstawowe elementy są niepodzielne. Wyglądają jak są one kilka elementów stanowiących ścieżkę jak reszta drzewa, ale są one nie . Na przykład w ostatnim przykładzie obiekt dc = z, dc = domeny nie istnieje.
Wyobraź sobie, że nazywasz swój dysk C: „D: \ my \ folder \”. Każda ścieżka tam będzie wyglądać jak „D: \ mój \ folder \ mój \ prawdziwy \ ścieżka”, co byłoby mylące, ponieważ prawdziwa ścieżka do pliku to \ moja \ prawdziwa \ ścieżka, prawda? Tak właśnie wygląda podstawa (root) LDAP z zestawem elementów dc =.
Odpowiedni link: http://docs.oracle.com/cd/E19199-01/816-6400-10/lsearch.html
źródło