Gewusst wie: löschen Sie alle Geschichte, wenn Benutzer Abmelden in ASP.NET?
wenn ein Benutzer Abmelden , will ich klar die ganze Geschichte und cache . so dass Benutzer nicht in der Lage zu gehen zurück Seiten.
Für diesen Zweck, die ich bin, benutzen Sie folgende login".aspx-Seite :-
if (Request.QueryString["action"] == "logout")
{
FormsAuthentication.SignOut();
Session["CurrentUser"] = null;
Session["IsJobPoster"] = null;
Session["AdminEmail"] = null;
Session["IsAdmin"] = null;
Response.Buffer = true;
Response.ExpiresAbsolute = DateTime.UtcNow.AddDays(-1d);
Response.Expires = -1500;
Response.CacheControl = "no-cache";
}
Aber der Benutzer ist in der Lage zu gehen zurück-Seite nach logout .
Bitte schlagen Sie mich brauchbaren link oder Beispiel-code.
hrm. in der Regel
Ich bin nicht sicher, dass Sie mit Membership-provider ist oder nicht. Wenn Sie sind, wird der Anbieter cookies für Sie und leiten Benutzer auf die login-Seite. Sobald der Benutzer zurück, sollte der Benutzer umleiten auf die login-Seite wieder. Verwenden von Forms-Authentifizierung in ASP.NET MVC: msdn.microsoft.com/en-us/library/ff398049.aspx und die Mitgliedschaft in ASP.NET 2.0 msdn.microsoft.com/en-us/library/ff648345.aspx.
Sie können nicht löschen Sie einen client-browser Geschichte, das ist etwas, kontrolliert der web-browser und ist nicht verfügbar zu sein verwirrt mit der von der web-Seite.
FormsAuthentication.SignOut()
sollte es tun. Es muss mehr an der GeschichteIch bin nicht sicher, dass Sie mit Membership-provider ist oder nicht. Wenn Sie sind, wird der Anbieter cookies für Sie und leiten Benutzer auf die login-Seite. Sobald der Benutzer zurück, sollte der Benutzer umleiten auf die login-Seite wieder. Verwenden von Forms-Authentifizierung in ASP.NET MVC: msdn.microsoft.com/en-us/library/ff398049.aspx und die Mitgliedschaft in ASP.NET 2.0 msdn.microsoft.com/en-us/library/ff648345.aspx.
Sie können nicht löschen Sie einen client-browser Geschichte, das ist etwas, kontrolliert der web-browser und ist nicht verfügbar zu sein verwirrt mit der von der web-Seite.
InformationsquelleAutor Sushant Bhatnagar | 2012-02-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auch, gibt es einen Grund, Sie nicht verwenden Session.Abandon() statt? Sie sollten dies berücksichtigen, vor allem, wenn man mehr sessionvariables wird es leichter sein, Sie zu pflegen.
InformationsquelleAutor Thomas
Nicht sicher .Net, aber im Allgemeinen mit Hilfe des POST-und ablaufen der die Seite (über die entsprechenden response-Header) und mit einem HTTP-redirect sollte, löschen Sie die Geschichte. Zudem, wenn cookie wird verwendet, um session dann überschreibt das cookie mit einigen Müll würde auch helfen.
Ich meinte die zurück-Schaltfläche, history (-1) die Seite abgelaufen sein wird. Nicht gesamten Browserverlauf.
Wie ich schon sagte, Sie können nicht entfernen Sie eine Schaltfläche "zurück" Geschichte-element im javascript - / von der Webseite am Ende des Tages dies ist browser gesteuert Verhalten nicht vor Ort kontrolliert werden. Denken Sie daran, all der Missbrauch, dies würde zu erhalten, die auf spam-sites, wenn Sie could entfernen/ändern/Lesen Sie Ihre browser-Geschichte.
InformationsquelleAutor Bimalesh Jha
Ich vermute, dass Sie sehen die client-Seite Cache-version der Seiten.
Bewegen Sie den caching-Aufrufe (Ablauf, CacheControl) außerhalb der if-Anweisung. Sie wollen, dass Sie ausgeführt wird Sie bei jeder Anfrage, so dass die Seiten erfordern login nicht zwischengespeicherten client-Seite. Der browser wird dann, wenn der Gang zurück in die Geschichte, den Benutzer zu informieren, dass die Seite ungültig ist/alt/veraltet und muss aktualisiert werden. Dies löst eine neue Anfrage, die sollte leiten den Benutzer auf eine login-Seite.
InformationsquelleAutor sisve
Vorherigen Seite, dass der Benutzer in der Lage, um zu sehen, nach dem Abmelden ist ganz sicher eine Seite im Cache des client. Also, was Sie tun müssen, ist nur code schreiben, wie diese (kopiert von dir):
in die Seiten, die sind gesehen zu werden durch angemeldete Benutzer, so dass diese nicht im browser zwischengespeichert. Macht das Sinn?
Ich glaube nicht, dass Sie ein problem in Ihrem code. Das problem ist wo das Sie Ihren code. Statt zu schreiben, dass code in die log-out-Seite, können Sie es auf Ihren Seiten, die eine Authentifizierung erfordern (z.B.: /Konto/details /Konto/Profil, etc.). Wenn Sie diesen code zu diesen Seiten, dann werden Sie nicht im browser zwischengespeichert werden und so, wenn der Benutzer auf die zurück-Schaltfläche klicken, werden Sie weitergeleitet auf die log-in-Seite (gerade weil es keine im Cache gespeicherte Seite im browser).
In anderen Worten, Sie nicht, löschen Sie den browser-cache auf Abmelden. Sie einfach, nicht zulassen, dass der browser-cache zu Ihrem authentifizierten Seiten.
InformationsquelleAutor Fabio Milheiro