In meinem asp.net mvc, wo Code ablaufen Browsersitzung ablegen, wenn die Serversitzung abläuft. Kann ich ein Aktionsattribut verwenden? Welches sollte das Beste sein?Wie kann die Clientsitzung am besten ablaufen?
Antwort
EDIT
Basierend auf Ihren Kommentar, würde ich vorschlagen, dies über einen Controller individuelle Basis Handling, die alle Ihre anderen Controllern von zustünden. Veranlassen Sie, dass der benutzerdefinierte Basiscontroller OnActionExecuting überschreibt und nach einem abgelaufenen Status sucht. Wenn der Status abgelaufen ist, entfernen Sie den Authentifizierungscookie aus der Antwort (FormsAuthentication.SignOut), und legen Sie die Result-Eigenschaft des ActionExecutingContext-Parameters auf HttpUnauthorizedResult fest. Alternativ können Sie auch einfach zu einer Abmeldeaktion umleiten.
Sie sollten auch sicherstellen, dass Ihr Sitzungszeitlimit und das Zeitlimit für die Zeitüberschreitung der Formularauthentifizierung identisch sind.
Ursprüngliche Antwort gelassen Kontext
ich genau bin nicht sicher, was Sie fragen. Wenn die Serversitzung abläuft, ist das Authentifizierungsticket im Cookie nicht mehr gültig. Jede Aktion, für die eine Autorisierung erforderlich ist (die mindestens eine Authentifizierung erfordert), sollte ein HttpUnauthorizedResult zurückgeben, das standardmäßig zur Anmeldeseite von Forms umleitet.
Fragen Sie, wie Sie die Sitzung auf der Client-Seite ablaufen lassen, so dass der Client auch ohne eine Anfrage etwas tut? Wenn ja, könnten Sie interessiert sein, wie ich das über Javascript/Ajax handhabe. Siehe meinen Blogbeitrag unter client-side session termination unter http://farm-fresh-code.blogspot.com.
Ich denke, Sie möchten Browserverlauf nach Benutzer abmelden.
IMHO die Frage geht um * Server-Side * Session Invalidation. – Boldewyn
- 1. Wie kann ich die WPF-Optionsfelder am besten handhaben?
- 2. Wie kann die Benutzeranmeldung in Rails am besten implementiert werden?
- 3. Wie kann ich die Lücken meines Mathematikwissens am besten schließen?
- 4. Wie am besten einzurichten core.clj
- 5. Wie kann ich am besten herausfinden, wie Django intern funktioniert?
- 6. Wie implementiert man die Versionskontrolle für die Webentwicklung am besten?
- 7. Wie geht das am besten in Android?
- 8. Wie am besten Eingabe in Java Webapp
- 9. Wie verwende ich am besten GPS-Daten?
- 10. Wie kann man am besten eine PHP-Anmeldeseite erstellen?
- 11. Wie kann ich am besten Übergänge in einer Transaktionstabelle extrahieren?
- 12. Wie kann ich am besten mein Modell Klasse
- 13. Wie kann eine RESTful-Service-Methode am besten überlastet werden?
- 14. Wie kann man am besten in Clearcase verzweigen?
- 15. Wie kann eine teure Initialisierung am besten durchgeführt werden?
- 16. Wie können Sommerzeitregeln am besten dargestellt werden?
- 17. Wie kann man neu hinzugefügte Entitäten am besten zurückgeben?
- 18. Wie kann ich Ant-Ziele am besten zwischen Projekten teilen?
- 19. Wie kann ein sehr komplexes Modell am besten verwaltet werden?
- 20. Wie kann ich Einheitentestfälle für einen Parser am besten schreiben?
- 21. Wie kann ich meinen Modullader am besten erweitern?
- 22. Wie kann der Änderungsverlauf am besten auf Datenbankfeldern gespeichert werden?
- 23. Wie kann duplikierter Code plattformübergreifend am besten gehandhabt werden?
- 24. Wie kann DateTime am besten in Cookies gespeichert werden?
- 25. Wie kann eine Statusnachricht in WPF am besten angezeigt werden?
- 26. Wie kann der Sandbox-Java-Code am besten ausgeführt werden?
- 27. Wie kann beim Erstellen eines Andockcontainers am besten iteriert werden?
- 28. Wie man am besten auf die Freigabe eines Filelock wartet
- 29. Wie man ein Tupelargument am besten weitergibt?
- 30. Wie berechnet man am besten die Summe einer Objekteigenschaft?
In diesem Fall läuft die Sitzung auf dem Sitzungsstatus-Dienst ab, so dass der Client-Cookie noch gültig ist, dass ich ablaufen muss – mamu
Ich habe meine Antwort basierend auf Ihrem Kommentar aktualisiert. – tvanfosson