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

Slides:



Advertisements
Ähnliche Präsentationen
Datenbankzugriff auf den iPlanet Directory Server mit PHP & LDAP Von Michael Günster.
Advertisements

OpenLDAP.
Rechnernetze und verteilte Systeme (BSRvS II)
Datenbanken Einführung.
C Tutorium – Fehlerbehandlung – Knut Stolze. 2 Grundsatz Also ist auch nach jedem Funktionsaufruf auf Fehler zu prüfen!! Jeder(!) Funktionsaufruf kann.
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
MySQL.
Zeitliche Verwaltung XML-basierter Metadaten in digitalen Bibliotheken M. Kalb, G. SpechtUniversität Ulm, Abteilung DBIS.
Basis-Architekturen für Web-Anwendungen
Lightweight Directory Access Protocol
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Gliederung Anforderungen Entwurf Beispiel Implementierung
1 NetWork File System © April 2002, G. Hellberg Network File System Konfiguration und Einsatz.
Metadirectory Services
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
JAVA RMI.
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Seminar Internet Technologien
Informationssysteme SS Informationssysteme Grundvorlesung Informatik Sommersemester 2004 Universität des Saarlandes, Saarbrücken Dr. Ralf Schenkel.
Directory Services - LDAP, JNDI
Einführung MySQL mit PHP
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
2.2 Definition eines Datenbankschemas (SQL-DDL)
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Identity für GSI Michael Dahlinger, GSI
JDBC: JAVA Database Connectivity
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Directory Services für Heterogene IT Landschaften
Workshop: Active Directory
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
LDAP- Verzeichnis und Protokoll
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Sesame Florian Mayrhuber
Allgemeines zu Datenbanken
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
Von Isabelle Spörl und Simon Schausberger
Relationales Datenmodell ist beherrschend: –Riesige Datenbestände und damit hohe Investitionen. –Die große Mehrzahl der Anwendungen arbeitet mit weitgehend.
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Michael Hartl, Laurent Steurer
Novell im Schuleinsatz
SharePoint 2013 Web Services
->Prinzip ->Systeme ->Peer – to – Peer
Technische Infrastruktur
Funktionsweise von CMS
Datenbanken im Web 1.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Seminar Ingenieurdatenbanken WS 04/05 Dr. Schallehn, Prof. Paul, Dipl.-Inf. Fröhlich {eike | paul | iti.cs.uni-magdeburg.de.
Universität zu Köln IT – Zertifikat der Philosophischen Fakultät / Kurs: Allgemeine Technologien I mit Susanne Kurz M. A. Open Source Anw. vs. proprietäre.
Eine komplexe Netzanwendung Webserver und Datenbankserver im Netzwerk in einer Anwendung einrichten.
N Beratung n Betreuung n Koordinierung Umsetzung der Betriebssicherheitsverordnung im Rahmen des Arbeits- und Gesundheitsschutzmanagementsystems NRW (AGM.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Praktikum Mobile Web 2.0 – 2.Teil Wolfgang Wörndl, Robert Eigner.
IS: Datenbanken, © Till Hänisch 2000 Windows Netzwerke TCP/IP oder was ?
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
Identity Management.  Zentrale Begriffe und Probleme  Modellbildung  Methoden zur Authentisierung über HTTP  Technische Aspekte  Compliance  Hindernisse,
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
Verteilte Anwendungen: J2EE
OAuth 2.0 Ralf Hoffmann 03 / 2017
Konzepte von Terminologie-Datenbanken
 Präsentation transkript:

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

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)

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

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)

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

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

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

Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, X.500 Informationsmodell Attribut... Eintrag Kontext Alias

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

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“

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)

Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, DIT Beispiel

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

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...

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

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)

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))

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);

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

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