Ich verwende das Python Web Framework Flask. Ich benutze Sitzungen in meiner App. Für meine App main
, habe ich die Einstellung main.permanent_session_lifetime = timedelta(days=5)
, so dass ein Benutzer für 5 Tage nach dem Einloggen angemeldet bleibt. Aber auch ein aktiver Benutzer wird nach 5 Tagen abgemeldet. Ich möchte, dass die Ablaufzeit bei jedem Besuch der Website zurückgesetzt wird. Sie werden also erst nach 5 Tagen von Inaktivität abgemeldet. Die meisten Websites funktionieren auf diese Weise. Wie mache ich das mit Flask?Zurücksetzen der Ablaufzeit für einen Cookie in Flask
Antwort
Sie können die Sitzung bei jeder Anforderung mit einem @before_request
-Handler für den Client erneuern.
Versuchen Sie Folgendes:
@app.before_request
def func():
session.modified = True
Funktioniert wunderbar. Ich wollte die '@ app.before_request'-Funktion aus anderen Gründen schon vorher haben, also ist das großartig zu wissen. –
Dies funktioniert nicht, wenn serverseitige Sitzungen (flask-kvsession) verwendet werden. Irgendwelche Ideen, wie man es repariert? – zengr
@zengr Dies ist ein Problem von flask-kvsession, da es sich dabei um einen "Drop-in-Ersatz für Flasks signiertes Cookie-basiertes Sitzungsmanagement" handelt. Es macht seine Arbeit nicht vollständig. Sende einen Fehlerbericht. Eine Problemumgehung kann sein, die Methode '.regenerate()' aufzurufen. –
- 1. HTTP Cookie Ablaufzeit (durchschnittlich, maximal, ...)
- 2. Ändern Sie die Ablaufzeit von PHPSESSID Cookie
- 3. Einstellung Node.js Express Sitzung Ablaufzeit in SessionStore anstelle von Cookie
- 4. Wie kann ich die Ablaufzeit des JWT-Tokens zurücksetzen?
- 5. Wann läuft ein Cookie mit der Ablaufzeit "Am Ende der Sitzung" ab?
- 6. ASPX Auth Cookie Ablaufzeit ist immer 30 Minuten
- 7. Suche nach einem Cookie mit Python Flask
- 8. Laravel 4 Erinnere mich Ablaufzeit
- 9. Zurücksetzen einer URL in Flask auf die Endpoint + Argumente
- 10. Ablaufzeit der Firebase-Remote-Konfigurationscache in Version
- 11. einen variablen Wert für jeden Einsatz Zurücksetzen
- 12. Wie setze ich die Ablaufzeit für ein Cookie, das von Plack :: Middleware :: Session verwaltet wird? Jetzt
- 13. Rails: Wie man die Ablaufzeit für Session-Cookies einstellt
- 14. Einen Namespace in PHP zurücksetzen?
- 15. Wie finde ich heraus, ob Cookie in Flask App
- 16. Flask oder Django für einen Anfänger?
- 17. FormsAuthentication Ablaufzeit Verhindern von steigenden
- 18. Einstellung Ablaufzeit auf Django Passwort Reset Token
- 19. Box.com OAuth - Ablaufzeit für App-Benutzer erhöhen
- 20. Erläuterung der tokenbasierten Funktion zum Zurücksetzen von Kennwörtern in Flask-Security
- 21. Zurücksetzen der Dateianalyse in Logstash?
- 22. Zurücksetzen der Nachrichtennummer für Posteingangsstil Benachrichtigungen
- 23. AngularJS $ http Cache-Ablaufzeit
- 24. Programmgesteuertes Zurücksetzen in der Tabellenansicht
- 25. Flask 0.10 geben Unicode-Fehler auf Session-Cookie
- 26. Zurücksetzen der Fernverfolgungsverzweigung
- 27. C++ - Zurücksetzen der Flags für den Ausgabestreammanipulator
- 28. Setzen Sie einen Cookie für die Anfrage in CasperJS
- 29. Frühling - Konfiguration der Domäne für JSESSIONID Cookie
- 30. Zurücksetzen der Kommunikationsereignismaske
Flask versucht, Ihnen die Werkzeuge, um so etwas wie dieses selbst zu schreiben. Wie Sie "Aktivität" definieren, ist abhängig von der Website. Ist "Aktivität" der Besuch der Website oder etwas wie der Kauf eines Produkts? Wie Sie sehen, könnte es keine Option wie "Inaktivität" geben, Sie müssten sie selbst implementieren. –
In meinem Fall bedeutet Aktivität nur den Besuch der Website. Wenn sie eine Seite auf der Website besuchen, bevor der Cookie abläuft, möchte ich, dass der Ablauf auf 5 Tage ab diesem Zeitpunkt zurückgesetzt wird. –