Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Willi Rüdiger Michel Geändert vor über 8 Jahren
1
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: LDAP Dr. Wolfgang Wörndl 07.05.2004
2
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 2 Überblick Architektur –Client-Server Modell Verzeichnisdienst LDAP –Motivation –LDAP Datenmodell –Architektur, Protokoll –Beispiel –Austauschformat (LDIF)
3
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 3 Einleitung Namensdienst (WH) –Abbildung Name -> Adresse –ID als eindeutiger Name –Bsp.: DNS Verzeichnisdienst (directory service) –Speicherung zusätzlicher Attribute –Erweiterte Queries (Pattern matching) –Spezielle Datenbank
4
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 4 Verzeichnis Verzeichnis (directory): Liste von (sortierten) Objekten mit beschreibender Information (Metadaten) Unterschied Verzeichnis – Datenbank –Verzeichnis hat (deutlich) mehr Lese- als Schreib-Anfragen –Keine Transaktionen –Unterschiedliche Anfragesprachen (SQL bei Datenbanken)
5
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 5 Verzeichnisdienst Verzeichnisdienst (directory service): Namensdienst mit Objektnamen und Metadaten Anfragemöglichkeiten –„White Pages“: Zugriff mit Namen –„Yellow Pages“: Zugriff mit Metadaten LDAP (Lightweight Directory Access Protocol) als Beispiel
6
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 6 LDAP Motivation X.500 –ITU Empfehlung, ISO Standard –Aufwendig und komplex Benötigt alle 7 ISO/OSI-Schichten Namen und Daten basieren auf ASN.1 –Zugriffsprotokoll (DAP) LDAP –Definiert Protokoll auf Basis von TCP/IP –Vereinfachtes Datenmodell –Verzeichnisdienst selbst wird nicht festgelegt
7
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 7 Modelle Informationsmodell –Grundlegende Datentypen und Basiseinheiten Namensmodell –Referenzierung der Objekte (DN) Funktionales Modell –Protokoll, Operationen Sicherheitsmodell –Rahmen, um den Zugriff auf das Verzeichnis zu kontrollieren
8
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 8 X.500 Informationsmodell Attribut... Eintrag Kontext Alias
9
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 9 LDAP Einträge Einträge setzen sich aus Attributen zusammen Attribut objectClass –Legt Attribut-Typen fest (z.B. „person“) –Optionale und verpflichtende Attribute Attribut –Typ (z.B. bin, ces, cis, tel, dn) –Ein oder mehrere Werte –Einschränkungen möglich
10
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 10 LDAP Namensmodell (I) Einträge hierarchisch als Directory Information Tree (DIT) geordnet Jeder Eintrag hat (eindeutigen) Distinguished Name (DN) –Alle RDN´s von der Wurzel aus (ohne Wurzel selber) Relative Distinguished Name (RDN) –Besteht aus den Werten ein oder mehrerer Attribute –Bsp.: „cn=woerndl“
11
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 11 LDAP Namensmodell (II) DN-Beispiel: „cn=woerndl, ou=users, dc=in, dc=tum, dc=de“ Alias-Namen möglich Verteilung des DIT auf mehrere Server möglich (z.B. Aufteilung nach organisatorischen Einheiten)
12
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 12 DIT Beispiel
13
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 13 LDAP Client Server
14
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 14 LDAP Protokoll Aufbau einer Verbindung –TCP-Port 389 Authentifizierung –Bind Operationen –... Abmelden –Unbind Client Server BindRequest BindResponse UnbindRequest OpRequest OpResponse...
15
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 15 Operationen Search: Einträge suchen –Variante ohne/mit Timeout Modify: Attribute modifizieren Add: Neuen Eintrag ergänzen Del: Eintrag löschen ModifyRDN: Letzten Namensteil löschen CompareDN: Vergleichen AbandonRequest: Abbruch Anfrage
16
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 16 Suchanfrage ldap_search_s –LDAP *ld –char *base –int scope –char *filter –char *attrs[] –bool attrsonly –LDAPMessage *res ldap_search_st (Timeout)
17
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 17 Filter Wildcard * Filtertypen –„present“, „substring“ –equal, approx, greater, less Kombination möglich –and, or, not Präfixnotation Beispiel: (&(cn=schmi*)(!(c=de))(mail~=abc))
18
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 18 Code Beispiel #define SEARCHBASE "o=TUM,c=DE"; LDAP *ld; char *User = NULL; char *Passwd = NULL; /* open a connection */ if ((ld = ldap_open("ldapserver.in.tum.de", LDAP_PORT)) == NULL) exit(1); /* authenticate as nobody */ if (ldap_simple_bind_s(ld, User, Passwd) != LDAP_SUCCESS) { ldap_perror(ld, "ldap_simple_bind_s"); exit(1); } /* search the database */ char searchfilter[] = "cn=Wörndl"; LDAPMessage *res; if (ldap_search_s(ld, SEARCHBASE, LDAP_SCOPE_SUBTREE, searchfilter, NULL, 0, res) != LDAP_SUCCESS) {... }... /* close and free connection resources */ ldap_unbind(ld);
19
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 19 LDIF LDAP Data Interchange Format (LDIF) Zum Import und Export von Daten Beispiel im Skript
20
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 07.05.2004 20 Fazit Verzeichnisdienst zentraler Baustein verteilter Anwendungen LDAP als Beispiel Hohe Verbreitung –(relativ einfache) Standards –Zahlreiche Implementierungen, z.B. www.openldap.org Ausblick Montag –Web Services –Remote Prozedure Call (RPC) Einleitung
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.