[TYPO3-german] Partnerwebsite mit Zugriff auf fe_users

Julian Färber julian.faerber at actiworks.de
Thu Jan 22 15:45:55 CET 2015


Hallo Forum,

auf einer Webssite A ist eine sehr große Typo3-Installation mit ca. 20.000 Usern (fe_user) installiert. Nun möchte der Kunde eine Partnerseite B starten, welche mittels dem Framework CakePHP selbst programmiert wurde. Nun soll es eine Schnittstelle geben, so dass es möglich ist, sich auf Seite B mit den Benutzerdaten von A anzumelden.

Technisch wurde das bisher folgendermaßen umgesetzt (zwar zugegeben nicht 100prozentig sauber, aber es funktioniert):
Auf der "Login-Seite" von B wird neben dem Header und Footer ein IFrame eingebunden, welcher eine extra hierfür angelegte Unterseite von A lädt. Auf dieser wurde das ausschließlich der Content-Bereich mit default Anmeldeplugin gesetzt und das Template mittels Parameter (type=99) angepasst, so dass es optisch nicht auffällt. An dieser URL hängen über die GET-Parameter success und error weitere zwei URLS der ursprünglichen Seite B an. Über den Anmelde-Link werden dann die Zugangsdaten gecheckt und im Falle, dass alles korrekt ist, auf eine reine PHP-Seite auf Server A weitergeleitet. Hier wird (unabhängig von Typo3) der per GET übergebene Username aus der fe_users-Tabelle gesucht und die Mail-Adresse des Benutzers selected. Über die header-Funktion gelangt man dann schließlich wieder zurück zu der success-URL, konkateniert mit "/<Mail-Adresse>". Hiermit wird dann der CakePHP-Cookie einfach so gesetzt, um auch in Cake angemeldet zu sein.

So, das funktioniert in allen Browsern ohne Problem.

Ähnliches Spiel beim Logout: Klickt der User auf "Logout", wird ein IFrame geladen, der wieder eine template-angepasste Version des Login/Logout-Plugins enthält. Hier (== Stelle X) muss man dann im IFrame bestätigen, dass man sich abmelden möchte. Bei Success kommt man zu einer extra CakePHP-Seite zurück, die dann (beim Aufruf) die Cake-PHP-Session bzw. den Cookie löscht. Somit wurde man wieder 2x abgemeldet.

Hat auch in allen Browsern funktioniert. Als dann aber Version 11 des IE herausgekommen ist, macht dieser Problem genau an der Stelle X. Ich vermute, es hängt mit neuen Sicherheitspolicies (Scripte von anderen Domains in IFrames) zusammen, leider hat es bis dato aber immer funktioniert.

Aufgrund dessen würde mich interessieren, ob hier einer der Entwickler schon einmal ein ähnliches Problem hatte, bzw. ob es unter Umständen einen ganz anderen Approach gibt, auf die User-Tabelle einer Typo3-Datenbank zugreifen zu können.

Für Hilfe und Tipps bin ich sehr dankbar!
Julian


More information about the TYPO3-german mailing list