Zum Inhalt springen

Active Directory --> TYPO3

Erstellt am 1. Oktober 2008 · 2 Antworten · letzte Antwort am 8. Oktober 2008

Tags: Frage

Unbekannter Benutzer ·

Hallo,

ich stehe vor der Aufgabe Daten aus dem AD (W2k3) auszulesen um sie in TYPO3 weiter zu verarbeiten (Listenansicht, Sotieren, u.s.w.). Das Ganze soll unser Team unterstützen schneller und vor allem übersichtlicher Informationen über das AD zu bekommen. Mit anderen Worten würde ich einfach gerne Daten aus dem AD lesen und diese temporär in der MySQL DB speichern und über TYPO3 ausgeben.

Hat zum diesem Thema schon jemand Erfahrung? Ich habe mal ldap_eu und andere EXT ausprobiert, jedoch scheitern alle am Limit von AD mehr als 1000 Objekte zurückzugeben. D.h. es werden einfach nicht mehr importiert abwohl noch genug Datensätze zu holen wären.

Wäre für Tips sehr dankbar!

LG
Michi

InforMedic ·

Ist dieses Limit nicht z.b. über den Constant Editor einstellbar?
Ansonsten würd ich in der main class nach der Methode suchen welche die DB Abfrage macht und diese Debuggen / gegebenenfalls umschreiben (limit entfernen)..

Gruß
Info

Unbekannter Benutzer · · Beste Antwort

Nun, das Limit ist nicht von der Extension selbst, sondern von Microsoft gesetzt. Pro LDAP-Abfrage in Active Directory bekommt man max. 1000 Datensätze zurück. Möchte mann mehr haben, muss man eben zuerst die Gesamtanzahl der Datensätze ermitteln die man möchte und anschließend diesen Betrag durch 1000 dividieren und 1 dazuzählen: Nun weiß man wie oft man abfragen muss um tatsächlich alle DS zu bekommen. So muss man dann doch etwas viel in der Ext. ändern... Aber ich denke ich werde mal einen tieferen Blick in die EXT:ldap_lib werfen - ich vermute, dass man mit der soöche Sachen machen kann - man muss halt selbst wieder jede Menge coden und das kostet leider zeit die ich nicht so wirklich habe.

Aber falls es dich oder jemanden anderen interessiert: Ich habe z.Z. (übergangsmäßig) folgende Lösung gefunden um Datensätze aus dem Active Directory nach MySQL zu exportieren:

! Vorsicht, folgende Schritte haben "noch" nichts mit TYPO3 zu tun !

  • 1) Auführen: csvde -f d:\filename.csv -s SERVERNAME -v -n
    2) Eine leere DB in MySQL erzeugen
    3) Tabelle mit allen Feldern in MySQL erzeugen (die Feldnamen bekommt aus der ersten Zeile im CSV-file) - Zu Testzwecken habe ich "TEXT" als Feldgröße gewählt um keine Errors wegen zu kleinen Feldern zu bekommen
    4) Import der CSV:
    LOAD DATA INFILE 'd:\filename.csv' INTO TABLE data
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    IGNORE 1 LINES

Ich werde diesen Importmechanismus wahrscheinlich als EXT schreiben und sie im TER hochladen, wird aber sicher etwas dauern... Wäre eine super Sache, vorallem für Intranet-Lösungen mit TYPO3.

Danke für deinen Input!
LG
Michi