Ab Contao 4.5 gibt es die tl_session Tabelle nicht mehr.
Ich wollte das nun etwas vereinfacht nachbilden.
Für postLogin habe ich mir den Cookie Hash geholt, hier am Beispiel Backend:
Code:
$session = \System::getContainer()->get('session');
$strHash = sha1($session->getId().'BE_USER_AUTH');
Über das User Object was mit der Hook übergibt hole ich mir die User ID und speichere die zusammen mit einem Timestamp und dem Hash ab.
Problem kommt nun beim postLogout Hook.
Denn hier wird vor dem Aufruf des Hooks bereits eine neue Session ID generiert.
Demzufolge kann ich nun nicht passend den Eintrag in meiner Tabelle löschen über den Hash.
Über den Hash gehe ich, da man sich ja mehrmals anmelden kann mit dem selben Login und die Logins unterscheiden muss.
Ich hatte schon die Idee über den neuen "csrf_contao_csrf_token" Value zu gehen, interessanterweise bleibt der offenbar gleich wenn ich mich an-ab-anmelde.
Jemand ne Idee für das Problemchen?
Lesezeichen