Zum Inhalt springen

eu_ldap: Funktionsweise?

Erstellt am 24. Juli 2006 · 10 Antworten · letzte Antwort am 5. Oktober 2006

Tags: Frage

Uwe82 ·

Hallo,
ich bin nicht so sehr versiert in PHP und in Typo3 bin ich auch noch eine rechter Anfänger, daher habe ich ein kleines Problemchen mit der Extension.

Ich weiß, dass normale Extensions eine main-Methode haben, die aufgerufen wird. eu_ldap hat diese aber nicht. Wie funktioniert das dort? Wie wird eu_ldap vom Login-Prozess von Typo3 angesprochen und in welcher Weise?

Ich muss für ein Projekt diese Extension nämlich ein wenig umschreiben, weil sie teilweise die Anforderungen nicht erfüllt 🙁

Vielen Dank im Voraus

Uwe82 ·

OK, ich blicke jetzt ein wenig durch, aber habe ein groooßes Problem. Ich hatte die Extension schon einmal ausprobiert mit einem Win2003-Server und keine Probleme beim Einloggen. Nun aber funktioniert das nicht.

Eine Hochschule ist nun die Umgebung, der verwendete Server hat Zugriff auf den LDAP-Server (Version 3). Ich habe nun nach Eingabe der Benutzerdaten in die newloginbox den gesamten Datenverkehr verfolgt, bis zum Ende. Und ich habe keinen Fehler gefunden.

In der Methode getUser() von eu_ldap läuft alles glatt, am Ende wird das User-Objekt mit den korrekten Daten zurückgegeben (auch mit Feld authenticated=1), aber trotzdem bin ich nicht eingeloggt. newloginbox liefert mir einen Fehler und ich kann auch keine Seiten mit Zugriffsbeschränkungen anzeigen.

Wo könnte das Problem noch liegen.

Uwe82 ·

Weiß hierzu wirklich niemand etwas? Nicht mal ein Tipp, wie man dem Fehler auf die Schliche kommen könnte?

dirk74 ·

Beschreibe doch mal genauer wie Du es eingestellt hast. Wie erfolgt z. B. die Autentifizierung gegen das AD? Domain\User oder user@domain. Bei LDAP V3 sollte es user@domain sein.
Funktioniert es denn mit der klassischen Login-Box?

Gruß
Dirk

Uwe82 ·

Ich dachte, die klassische Loginbox könnte ich nicht in Zusammenhang mit eu_ldap verwenden? Jedenfalls hatte ich das mal so gehört.

Der Loginvorgang funktioniert ja einwandfrei, am Ende der Methoden von eu_ldap wird ein User-Objekt zurückgegeben, mit dem Wert authenticated = 1. Bis dahin ist ja dann der Login-Vorgang abgeschlossen und den Rest müsste Typo3 ja jetzt machen.

Es handelt sich nicht um ein AD, sondern ein Unix-LDAP. Welche Software weiß ich aber nicht genau, jedenfalls LDAPv3. Ich habe es dann einfach mit OpenLDAP in der Konfiguration versucht.

dirk74 ·

Ich bin jetzt auch kein Experte in PHP, aber etwas intensiver habe ich mich schon mit der Extension beschäftigt.
Ich unterstelle mal folgende Herangehensweise von Deiner Seite:
- LDAP-Plugin in einen Sysfolder eingebunden und korrekt konfiguriert
- Import der Frontend-/Backendbenutzer aus OpenLDAP klappt

Wenn die Benutzer in "Website-Benutzer" aufgeführt sind, dann sollte es mit der klassischen Login-Box gehen. Die Seite mit dem Login-Plugin setzt Du über den zu schützenden Bereich. Im Login-Plugin verweist Du auf die zu springende Seite, wenn der Login erfolgreich war. Klappt der Login nicht, kommt erneut die Box.
Ich selber habe noch Probleme, wenn der Benutzer ein falsches Kennwort eingibt (dann wird sein AD-Account gesperrt), aber das ist ein anderes Thema.

Gruß
Dirk

Uwe82 ·

Also mit der klassischen Box funktioniert es bei mir nicht. Aber inzwischen habe ich das Problem gelöst, weiß aber nicht genau wie.

Ich hab in der Extension das FE-Login nochmal abgeschaltet und lokales Einloggen ausprobiert -> funktioniert. Dann FE-Login per LDAP eingeschaltet. Dann ist mir eingefallen, dass eu_ldap ohne Modifikationen ja lokale Gruppenmitgliedschaften löscht und ich genau deshalb die versteckte Testseite nicht sehe.

Modifkation eingebaut --> funktioniert alles bestens *ansHirnKlatsch*.

Trotzdem danke 😉

sheva ·

Hallo Uwe,

ich hab jetzt die gleichen Probleme, vielleicht kannst mir ein wenig helfen.

Uwe82 schrieb

Also mit der klassischen Box funktioniert es bei mir nicht. Aber inzwischen habe ich das Problem gelöst, weiß aber nicht genau wie.

Ich hab in der Extension das FE-Login nochmal abgeschaltet und lokales Einloggen ausprobiert -> funktioniert.

Was verstehst Du unter Lokales Einloggen? Ist es FE oder BE?

Uwe82 schrieb

Dann FE-Login per LDAP eingeschaltet. Dann ist mir eingefallen, dass eu_ldap ohne Modifikationen ja lokale Gruppenmitgliedschaften löscht und ich genau deshalb die versteckte Testseite nicht sehe.

Modifkation eingebaut --> funktioniert alles bestens *ansHirnKlatsch*.

Trotzdem danke 😉

Uwe82 ·

Unter "Lokalem Einloggen" habe ich Einloggen im FE unter Verwendung im Typo3 erstellter Benutzer gemeint. Also nicht per LDAP.

Welches Problem hast Du denn genau? Schon mal meine Methode probiert und das Teil neu installiert (also eu_ldap)?

sheva ·

Hallo Uwe,
danke für schnelle Antwort! na ja, connect zum ADS funktioniert, user-import auch, allerdings benutzergruppen stimmten nicht, hab ich dann im BE korrigiert. Die FE Anmeldung funktioniert aber nicht.
DIe FE-Anmeldung versuche ich mit alter loginform, als auch mit better_loginbox...geht beides nicht...kämpfe schon ganzen tag...hab schon extension entwickler angesprochen, er hat mir cc_devlog empfohlen. die fehlermeldung im log lautet dann so

982 t3lib_userAuth getUserFE auth services called: ,tx_euldap_sv1,tx_sv_auth Login
983 t3lib_userAuth No user found by services Login
984 t3lib_userAuth Login failed: status: login; uname: fcguest; uident: fcguest; chalvalue:; uident_text: fcguest; uident_challenged: 7529f22ba3fb6713b...; uident_superchallenged: 8393afcb4936f28c4...; Login
985 t3lib_userAuth Call checkLogFailures: warningEmail:; warningPeriod: 3600; warningMax: 3; Login
986 t3lib_userAuth Fetch session ses_id = 646e3fbab9 Login

danke für jeden hinweis

Uwe82 ·

Stimmen die Angaben für den LDAP-Server auch?

Ich hatte da das Problem, dass ich mit den eingegebenen Benutzerdaten zum LDAP connecten musste, und keinen Standard-Benutzer hatte, der alles abfragen konnte. Daher musste ich die Extension ziemlich umschreiben.

P.S.: Sorry für die späte Antwort.