postLogin und postLogout Problemchen
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?
Trotz aktivem Mitglied "Keinpassendes Konto gefunden"
Ich habe aktuell bei einer 4.9. Installation das Problem, dass Mitglieder ihr Kennwort nicht zurücksetzen können, weil nach Eingabe der Mail-Adresse immer die Information kommt " Kein passendes Konto gefunden" obwohl das Konto aktiv ist und die angegebene Adresse stimmt.
Das Problem konnte ich lösen indem ich das Feld Session bei allen Mitgliedern gelöscht habe.