Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: LDAP Dr. Wolfgang Wörndl 07.05.2004.

Ähnliche Präsentationen


Präsentation zum Thema: "Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: LDAP Dr. Wolfgang Wörndl 07.05.2004."—  Präsentation transkript:

1 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: LDAP Dr. Wolfgang Wörndl

2 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Ü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, 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, 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, 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, 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, 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, X.500 Informationsmodell Attribut... Eintrag Kontext Alias

9 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 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, 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, 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, DIT Beispiel

13 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, LDAP Client Server

14 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 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, 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, 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, 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, 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, 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, Fazit  Verzeichnisdienst zentraler Baustein verteilter Anwendungen  LDAP als Beispiel  Hohe Verbreitung –(relativ einfache) Standards –Zahlreiche Implementierungen, z.B.  Ausblick Montag –Web Services –Remote Prozedure Call (RPC) Einleitung


Herunterladen ppt "Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: LDAP Dr. Wolfgang Wörndl 07.05.2004."

Ähnliche Präsentationen


Google-Anzeigen