Frage

Ich bin mit Symfony 1.4 mit Lehre.

Sorry, wenn dies ist eine dumme Frage, aber was genau braucht man zu bauen auf dem sfDoctrineGuardPlugin das „remember me“ -Funktionalität zum Laufen zu bringen?

Wenn ich einen Benutzer anmelden, die sfRemember Cookie mit dem standardmäßig erstellt 15-Tage-Lebensdauer und die erinnern Schlüssel wird in das Plugin-sf_guard_remember_key Tabelle gespeichert.

Ohne Tweaks an das Plugin, das sfGuardSecurityUser SignIn () -Methode erstellt das Cookie, aber die SignOut () -Methode löscht es, die Cookies nicht verlassen, es sei denn Sie angemeldet sind!

Signin():
sfContext::getInstance()->getResponse()->setCookie($remember_cookie, $key, time() + $expiration_age);

Signout():
sfContext::getInstance()->getResponse()->setCookie($remember_cookie, '', time() - $expiration_age);

Ich kann sehen, dass die Datenbanktabelle den Cookie als eine Beziehung von sf_guard_user spart, aber das ist nicht viel Gutes, wenn das Cookie ist weg ....

Ich wäre dankbar, wenn mir jemand sagen könnte, was ich bin fehlt hier, und im Idealfall, wenn ich die SignOut () -Methode von Entfernen der Cookies verhindern, muss ich Code schreiben, das Cookie selbst zu lesen, oder ist dies automatisierte irgendwo / irgendwie? Ich habe Box-Standard Symfony 1.4 und sfDoctrineGuardPlugin Installationen.

Alles nur scheint völlig falsch und die Dokumentation zu diesem Thema ist nicht vorhanden.

Jede Hilfe würde geschätzt.

War es hilfreich?

Lösung

Warum würden Sie wollen das Cookie erinnern zu halten, nachdem der Benutzer abgemeldet hat?

Es ist einziger Zweck ist es, den Benutzer zu halten angemeldet, auch nach seiner aktuellen Sitzung abgelaufen ist - daher den Cookie. Es bedeutet, wenn er den Browser (und das Session-Cookie gelöscht wird) schließt, wird er mit der Cookie beim nächsten Mal automatisch erinnert protokolliert wird er die Website besucht.

Aber wenn er sich abmeldet, wollen wir ihn vollständig abzumelden - deshalb das Clearing erinnern Cookie ist neccesary

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top