Co rozwiązuje LDAP?

Byłem w kontakcie z LDAP w wielu projektach, w których byłem zaangażowany, ale prawdę mówiąc, nie bardzo to Rozumiem. Myślałem, że to tylko katalog osób, ale po odkryciu, że może zawierać dowolne obiekty w hierarchicznej strukturze.

Zainstalowałem openldap w swoim boxie i znalazłem wiele samouczków dotyczących samej instalacji.

Co to jest LDAP? Jakie są scenariusze, w których LDAP jest właściwym wyborem? Jakie są koncepcje LDAP, które powinienem znać podczas pracy z to? Jakie są zalety LDAP? Czy jest używany tylko dlatego, że stare aplikacje go używały? Czy w Internecie jest jakiś dobry dokument wyjaśniający te wszystkie pytania?

UPDATE : Uzupełniając odpowiedzi znalazłem ten link , który zawiera szybki przewodnik dla początkujących LDAP jak ja.

 59
Author: Eonasdan, 2009-05-19

11 answers

Co to jest LDAP? Jakie są scenariusze, w których LDAP jest właściwym wyborem?

W swoim rdzeniu, LDAP jest protokołem dostępu do obiektów, które nadają się do przechowywania w katalogu. To, czy coś jest "odpowiednie", jest całkowicie subiektywną determinacją pozostawioną implementatorom, ale zazwyczaj oznacza to kolekcje wielu obiektów, z których każdy ma rzadko (lub nigdy) aktualizowane DANE, gdzie każdy obiekt ma oczywisty lub kanoniczny sposób patrzenia up:

  • książka telefoniczna (Szukaj po nazwisku lub numerze telefonu)
  • tytuły w bibliotece (Wyszukaj według tytułu, autora itp.)
  • lokatorzy w budynku (Szukaj po piętrze, apartamencie, nazwie itp.)

I tak dalej.

Zauważ, że sam LDAP jest tylko protokołem i nie zapewnia żadnego rzeczywistego miejsca na dysku - w podobny sposób, HTTP nie implikuje nic o tym, czy używasz Apache, Jetty, Tomcat, Mongrel itp. jako serwer WWW. (Jednym z problemów z LDAP w ogóle jest mylące wielokrotne używanie nazw oznaczających różne rzeczy. Wikipedia ma dobry dział na tym.)

 39
Author: John Feminella,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-19 19:49:18

DITs są hierarchicznym schematem opisu, który bardzo ładnie nadaje się do algos B-Tree, co w większości przypadków skutkuje ogromną wydajnością wyszukiwania. Serwer katalogów jak OpenDS zwraca indeksowane wyszukiwania w mikro-sekundach, podczas gdy systemy RDBMS są znacznie wolniejsze. Serwery katalogowe (często nazywane serwerami LDAP) wymieniają zasoby (RAM, CPU) w celu szybkiego odczytu. Systemy RDBMS zapewniają większą funkcjonalność w zakresie zarządzania danymi. Potrzebujesz prędkości z kilkoma lub zerowymi aktualizacjami, prostota i mały protokół sieciowy? Użyj serwera katalogowego. Potrzebujesz możliwości zarządzania danymi i wydobywania danych i / lub wysokiej szybkości zmiany bazy danych z aspektami relacyjnymi zdefiniowanymi między danymi? Użyj RDBMS (MySQL jest najlepszym rozwiązaniem tutaj).

 13
Author: user115086,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-31 12:22:42

LDAP ma o(1) wydajność odczytu, w zamian za o (coś gorszego) wydajność zapisu. Jest to idealne rozwiązanie dla danych, do których dostęp jest często, ale rzadko zmienianych - katalogów osób, nazw i adresów maszyn itp. (stąd Skrót: Lightweight Directory Access Protocol.)

LDAP jest właściwym wyborem, gdzie ból korzystania z bazy danych, która nie jest relacyjna, pod względem zmniejszonej znajomości programistów i dziwnych cech wydajności, jest mniejszy niż zysk ślepo szybki dostęp do odczytu.

 9
Author: Dan Davies Brackett,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-19 19:39:33

Jedna perspektywa Lubię harp na jest LDAP jest aplikacja na szczycie sklepu persistence i baza danych jest sklep persistence. Oba mogą być używane do przechowywania informacji o użytkowniku.

LDAP daje Ci hierarchię, która jest trudniejsza do zrobienia w bazie danych. Możesz utworzyć hierarchię w bazie danych, ale trudniej jest zrobić takie rzeczy, jak delegacja (te wiersze należą tylko do ciebie) lub ACL na rows. Wypychanie problemów z bezpieczeństwem z bazy danych jest łatwiejsze, jeśli używasz LDAP do przechowywania tożsamości użytkowników. Trying to rozwiązywanie tego w bazie danych jest dziwne.

W tym samym czasie, LDAP jest straszne dla raportowania przeciwko (przekształcić LDAP do DB dla raportowania). Przechowywanie atrybutów głęboko w drzewie, które muszą być szybko przeszukiwane, może być problematyczne dla wydajności(nie rób tego, miej DB na boku lub spróbuj spłaścić zapytanie, zmieniając swój DIT). Przechowywanie atrybutów w całym miejscu w naprawdę głębokim DIT jest po prostu złym projektem LDAP lub systemu, ale czasami jest to nieuniknione, jeśli jesteś przywiązany do dostawcy produkt lub starsza aplikacja.

 5
Author: squarism,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-12 16:36:24

Ten link wyjaśni LDAP http://blogs.oracle.com/raghuvir/entry/ldap

Używamy LDAP w naszym biurze do wyszukiwania adresów e-mail w całej firmie. Używamy go jako usługi logowania z jednego źródła dla naszych wewnętrznych aplikacji.

 5
Author: RedWolves,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-16 23:13:24

Pracuję na pół etatu i na cały etat. Mój program nauczania zachęca (wymaga przeczytania) wiele projektów grupowych.

Użyłem openLdap i phpLdapAdmin do kontroli dostępu do moich Subversion i Mercurial repos, Trac projektów, Hudson, itp. Nie było to łatwe do zainstalowania, ale czas zaoszczędzony w administracji był zesłany przez Boga.

Jeśli masz projekty, w których będzie wiele grup ludzi, którzy muszą być w stanie korzystać z różnych zasobów, jest to dobre narzędzie.

 3
Author: Summers Pittman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-19 20:38:19

LDAP jest tylko protokołem, artykuł w Wikipedii wyjaśnia to odpowiednio http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol

To sposób na odpytywanie podstawowej struktury organizacyjnej, takiej jak Microsoft Active Directory. Możesz użyć zapytań LDAP, aby uzyskać wszelkiego rodzaju informacje o użytkownikach, używać ich do ustawiania praw aplikacji itp.

 2
Author: kscott,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-19 19:38:22

LDAP jest protokołem dostępowym; dostarcza tylko API do podstawowej technologii, dla której próbujesz znaleźć aplikacje-usługi katalogowej . OpenLDAP jest jedną z usług katalogowych open source; Sun ma inną implementację o nazwie OpenDS. Active Directory i Novell NDS to kolejne dwa powszechnie spotykane w tej dziedzinie.

Katalog może być używany do przechowywania informacji o wszelkiego rodzaju zasobach i relacjach między nimi - na przykład praw użytkownika do katalogu, drukarki lub urządzenia dostępowego do sieci.

 2
Author: Tetsujin no Oni,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-19 19:39:57

Zobacz ten link:

Http://www.umich.edu/~dirsvcs / ldap/Doc/guides / slapd / 1.html#RTFToC1

Co wyjaśnia głęboko LDAP:

Na przykład możesz zobaczyć ten obraz w tej dokumentacji,

Http://www.umich.edu / ~dirsvcs/ldap/doc/guides/slapd/guide-51.gif

 2
Author: Abdennour TOUMI,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-29 14:13:22

W jednym z moich starych miejsc pracy użyliśmy LDAP jako głównego systemu uwierzytelniania użytkowników.

To z kolei dostarczyło naszym różnym systemom informacji, które dept. należeli do, gdzie powinni zamontować swoje katalogi domowe, dane kontaktowe, zarządzanie pracownikami.

Niekoniecznie kontrolowane przez LDAP, ale inne rzeczy, które mieliśmy mieszane do pracy przez LDAP było istnienie użytkowników SQL, K4, samba i generowanie konta e-mail.

 1
Author: JensenDied,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-19 19:43:35

Czy jest gdzieś w Internecie dobry dokument wyjaśniający te wszystkie pytania?

IBM opublikował doskonałą czerwoną książkę o LDAP. Tytuł to: zrozumienie LDAP-Projektowanie i wdrażanie.

Można go pobrać z poprzedniego linku.

 1
Author: chus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-20 09:49:17