Zum Inhalt springen

Redirect auf Login-Form, wenn nicht eingeloggt

Erstellt am 3. Juli 2007 · 3 Antworten · letzte Antwort am 20. März 2008

Tags: Weiterleitungen & 404, felogin, Frage

deload ·

Hallo zusammen, ich habe ein kleines Problem mit der Typo3 User-Authentifizierung. Auch nach einer Woche Googlen, Durchforsten von TSRef und Core-Dokumentation habe ich dazu keine Lösung gefunden.

Szenario: Typo3 ist so konfiguriert, dass es einen einzigen Domain-Eintrag gibt und innerhalb des Site-Trees mehrere Zweige für Subsites nach dem Schema: www.domain.com/subsite. Für zwei dieser Subsites benötige ich einen Benutzerauthentifizierung, für drei andere nicht. Zu diesem Zweck ist auf zwei Subsites die Newloginbox eingebaut, jeweils auf einer Anmelde-Seite. Authentifizierung klappt bei diesem Aufbau auch. Nun habe ich in einer Subsite Seiten und Inhalte, die der einen Benutzergruppe angezeigt werden sollen und der anderen nicht.

Kundenwunsch: EINE einzige Login-Seite pro Subsite. Wenn man nicht angemeldet ist, soll die Login-Form erscheinen und definitiv nicht die für die ganze Domain eingestellte 404-Seite.

Problem A: Da ich nur einen Domain-Eintrag in Typo3 habe, gibt es auch nur eine Möglichkeit, eine 404-Seite einzustellen. D.h. das page not found-handling auf ein bestimmtes Login-Formular zu setzen wäre für alle anderen Subsites ein Fehler. Laut TSRef gibt es keine Möglichkeit, das page not found-handling per Typoskript individuell pro Seite zu setzen.

Problem B: Solange ich nicht eingeloggt bin, greift das 404-Handling und zwar noch BEVOR irgendwelche Extensions ausgeführt werden. D.h. mein Versuch, eine Extension zu schreiben, die den Redirect erledigt, blieb erfolglos. Außerdem scheint es im Code für die Authentifizierung keinen Hook zu geben, den ich benutzen könnte.

Für eine Lösung zu diesem Problem wäre ich außerordentlich dankbar. Hat irgendjemand ne Idee?

deload ·

Da ich das Problem nicht mit gängigen Mitteln hab beheben können, habe ich eine passende Extension auf der Basis von dh_loginredir gebaut. Diese ist in der Lage, für jeden beliebigen Abschnitt im Seitenbaum Weiterleitungen auf 404-Seiten abzubilden. Ein Backend gibt es dazu noch nicht aber das lässt sich ja ändern. Die Extension werde ich dann ins T3-Repository packen.

suit4 ·

deload, ist Dein Code schon brauchbar?

Wenn ja, wo findet man den?

Das scheint offensichtlich ein generelles 'Feature' von Typo3 zu sein, dass man beim Zugriff auf Seiten mit Zugangsbeschränkung auf der pageNotFound-Seite landet.

deload ·

Hi suit4,
sorry.... habe lange nicht mehr hier hineingesehen. Das Problem ist, dass Typo3 nicht nativ zwischen 404 und 403 unterscheidet, also zwischen "Seite nicht gefunden" und "keine Berechtigung". Für Typo3 ist alles 404. Ich habe mir eine Extension (ich glaub, es war dh_loginredir) aus dem Repository runtergeladen und die angepasst. Sauber ist das alles nicht. Es funktioniert gerade so mit Hängen und Würgen. Ich überarbeite die Extension nochmal und stelle sie dann ins Repository. Du bekommst als erster Bescheid 🙂.

Gruß, Deload