2013-07-22 25 views
5

Wie kann ich verhindern, dass der Browser die zwischengespeicherte Kopie der Seite nach dem Abmelden verwendet?Zurück-Taste des Browsers nach dem Abmelden

Wenn sich der Benutzer immer noch abgemeldet hat, kann er mit der Zurück-Taste auf die vorherigen Seiten zugreifen.

Ich verstehe, dass wir die Zurück-Schaltfläche nicht deaktivieren können (wie SO Antworten).

Derzeit habe ich eine große Anzahl von Seiten in verschiedenen Szenarien, so dass ich nicht jede Seite ändern kann.

Was ich versucht habe

  1. den Header ablaufen Einstellung (kann ich das auf jeder und jede Seite festlegen müssen? Auch wenn ich das tun Browser-Cache funktioniert die Seiteninhalte? (Weil ich die Notwendigkeit Browser zum Zwischenspeichern von Inhalten, wenn Benutzer angemeldet ist))
  2. Ich habe bereits ein Abfragesystem (aber immer noch gibt es eine Verzögerung zu erkennen)
  3. Javascript basierte Lösung (es funktioniert, aber immer noch Benutzer können Geschichte Option zum Navigieren oder verwenden ein langer Knopf drücken)

Ich bin wirklich hier fest, Könnten Sie mir bitte helfen, das Problem zu lösen?

+1

Warum willst du das tun, er kann nichts tun, nachdem die Sitzung beendet wurde, jeder Klick und er wird wieder rausgeworfen ... –

+1

@ Mr.Alien Ich verstehe das. Aber immer noch mein Klient denkt, dass das ein Problem ist. – Red

Antwort

5

Ich denke, dieser Code wird Ihnen helfen, diesen Code im übergeordneten Controller-Konstruktor verwenden.

//Log out Back 
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1. 
header("Pragma: no-cache"); // HTTP 1.0. 
header("Expires: 0"); // Proxies. 
+0

Könnten Sie bitte erklären, was danach passiert? Ich brauche den Browser, um den Inhalt zwischenzuspeichern, wenn er eingeloggt ist. – Red

+0

Es löscht den Cache, wenn Sie sich von der Seite abmelden. Wenn Sie sich auf der Website anmelden, werden die Benutzeranmeldungswerte automatisch im Cache gespeichert. –

+0

ist es für eine bestimmte Seite oder die gesamte Domain? – Red

0

Dies ist der Link beantwortet alle.

http://www.codeproject.com/Tips/549347/Browser-Back-Button-Issue-After-Logout

Ich habe versucht, über alle Lösungen, aber Browser nicht kompatibel.

So besser ist es, Ajax Post oder in der Seitenladeprüfung für Sitzung var Null oder nicht zu tun.

Dieser Tipp hat auch eine Einschränkung, dass, wenn Benutzer auf die Zurück-Schaltfläche des Browsers klickt, die Rückseite für 1 oder eine halbe Sekunde wegen der Ausführung der WebMethod angezeigt wird. funktioniert aber sicher in jeder Version eines Browsers !!

Verwandte Themen