Hallo zusammen,
ich verwende eu_ldap 2.6.0 auf typo 3.7.
Nun möchte ich gerne meine Frontenduser per LDAP mit unserem AD (Windows 2003) synchronisieren.
Die Struktur sieht so aus, dass es mehrere OUs gibt, in denen User liegen. Bsp.:
OU=Vertrieb
--CN=user1
--CN=user2
OU=IT
--CN=user3
--CN=user4
Ich kann problemlos auf eine OU zugreifen, wenn ich folgende Basis-DN und Filter verwende:
Basis-DN: OU=IT,DC=unseredomäne,DC=COM
Filter: (&(objectClass=user))
So bekomme ich alle User aus der OU IT.
Ich möchte jedoch alle User der ganzen Domäne haben.
Wenn ich die OU aus der Basis-DN weg lasse bekomme ich bei Auswahl vom Modul "LDAP Integration" die Meldung "Unable to search ldap server".
Kann mir jemand von Euch weiterhelfen?
Danke im Voraus.
Indalo
Probiers mal indem du den Filter erweiterst:
(&(objectClass=user)(objectCategory=person)(samaccountname=<search>))
und gib als Basis DN:
nur den Domändensuffix an z.B.
dc=Firmaxyz,dc=com
Danke, so habe ich es schon probiert.
Sobald ich das OU rausnehme kommt die Meldung "Unable to search LDAP server", egal was im Filter-String steht 🙁
Kann nicht sein du mußt irgendwo anders noch einen Fehler haben!
Hab dein Szenario mal durchgetestet und die OUs bei mir rausgenommen.
Es stand nur noch
dc=firmaxyz,dc=biz
drin und aht sauber funktioniert (das Teil hat begonnen alle unsere 15000 User die im AD rumschwirren zu importieren Hiiiilfe).
Es würde weiterhelfen wenn du kurz deine Einstellungen postest.
komisch.
dann poste ich mal was hier drin steht:
Server: ldap://192.168.100.4
Port: 389
LDAP-Version: 3
Basis-DN: DC=xyz-group,DC=com
Filter: (&(objectClass=user)(objectCategory=person)(samaccountname=<search>))
Art des LDAP Servers: Active Directory (Benutzer@Domäne)
Domäne: xyz-group.com
auch BE Benutzer über diesen Server authentifizieren: Frontend only
Benutzer: xyz@xyz-group.com
Passwort: ****
Welches LDAP-Attribut entspricht dem Benutzernamen?: name
Welches LDAP-Attribut entspricht der e-Mail Adresse?: mail
keine Gruppenzuweisung
Importiere/aktualisiere authentifizierte Benutzer automatisch
Danke für deine Mühe!
Server: ldap://192.168.100.4
änder das mal in
Server: 192.168.100.4
so war es vorher die ganze zeit, hatte es nur testweise mal in die volle schreibweise geändert 😐
lefreak schrieb
Server: ldap://192.168.100.4
änder das mal in
Server: 192.168.100.4
Dann bin ich mit meinem Latein am Ende. Bei mir sieht die Konfiguration genauso aus und funzt.
Die User verteilen sich bei euch auch über mehrere OUs und Du hattest jetzt beim testen keine OU angegeben?
Die User verteilen sich bei uns über eine Vielzahl von OUs und Unter OUs.
Ich hatte deshalb testweise mal keine OU sondern nur den DC angegeben. Und es hat auch funktioniert.
hm, kann da irgendwas am AD falsch konfiguriert sein?
Wäre ne Möglichkeit. Kann ich dir aber nicht genau sagen die ich auf die Konfigurationseinstellungen unserer Domänencontroller keinen Einfluß habe.
Das wird hier alles von Kanada aus erledigt.
Es ist aber bei euch auch AD unter Windows Server 2003?
Gemischt. Die meissten DCs sind schon auf 2003, es gibt aber noch ein paar unter 2000. Unser AD Team ist wohl gerade am umstellen.
Wenn ich ein OU angebe liest er übrigens auch Unter-OUs ein.
Jetzt werde ich erstmal für jede Ebene-1 OU einen eigenen Servereintrag anlegen. 🙁
Dir auf jeden Fall vielen Dank für die Hilfe!
Oh je.
Das Problem ist nun wieder akut.
Denn das Work-Around mit den Zig LDAP-Server-Einträgen geht solange gut, wie die Benutzer ihr Passwort richtig eingeben. Sobald es falsch eingegeben wird, ist ihr Konto deaktiviert, da jeder LDAP-Server abgefragt wird :/
Jemand eine Idee?
Mittlerweile klappt der Import wie gewünscht.
(Wahrscheinlich durch Update auf 2.6.1)
Nun klappt das Einloggen allerdings nicht mehr.
Die Verbindung zum AD steht, wenn ich mehrfach den Benutzernamen eingebe wird das Konto gesperrt.
Ich schaffe allerdings trotz Eingabe des richtigen Passworts keinen Login.
Gebe ich das erzeugte Passwort aus der Datenbank ein, das er eigentlich ignorieren sollte, funktioniert der Login.
Wenn ich einen weiteren LDAP-Server eintrage, klappt der Login mit dem richtigen Passwort _und_ dem aus der Datenbank.
Was läuft da falsch? Kann mir noch jemand folgen? 🙂
Lösung: Die Funktion checkNTUser() in der class tx_euldap_div anpassen.
Ein erfolgreicher Bind reicht zur Authentifikation.
ldap_search und ldap_get_entries sind dort nicht nötig.
Hoffe ich 😉
Wenn jemand etwas gegenteiliges weiß, bitte melden!