Zurück-Taste muss zurück zur letzten Seite nicht nach dem Abmelden
-
21-09-2019 - |
Frage
Ich entwickle eine asp.net Website und ich bin nicht mit eingebauten Authentifizierungskontrollen von asp.net. Ich habe für die Nutzer für die Site manuell Tabellen erstellt.
Was ich will, ist folgt als
- Nach der Anmeldung können Benutzer auf die Seiten zugreifen (das bereits geschehen ist)
- Wenn der Benutzer drücken sich abzumelden (Benutzer geht auf bestimmte Seite - Beispiel - default.aspx)
- Nun, wenn der Benutzer die Taste „Zurück“ -Button des Browsers, muss er nicht zurück zur letzten Seite (die in Yahoo-Seiten getan wird - ich möchte das gleiche implementieren)
Lösung
Benutzer verhindern, dass die vorherige Seite zu sehen, wenn die Zurück-Taste drücken müssen Sie den Browser anweisen, diese Seite nicht zwischengespeichert werden:
Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
Response.Cache.SetValidUntilExpires(false);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Sie können diesen Code in all authentifizierten Seiten setzen, so dass sie verhindern, dass auf dem Client-Browser im Cache gespeichert werden.
Andere Tipps
Für eine Seite nicht die Browser-Anforderungen zu reagieren zwischengespeichert wird entsprechend Anweisungen an dem Caching, aber es gibt keine Garantie, dass diese auf jedem Browser funktionieren! (Ein entsprechend böse Person könnte ihren eigenen Browser schreiben zu ignorieren Informationen Cachen oder einen Proxy schreibt sie in Streifen aus ...)
So können Sie nicht bekommen diese 100% der Zeit zu arbeiten, aber du bist immer das Problem, gehen zu stellen, dass ein Benutzer leicht einen Screenshot kann, eine Seite ausdrucken, speichern Sie eine Kopie auf ihrer Festplatte, etc. ., wenn Sie eine Seite, um sie irgendwie gefüttert habe ...
die Antwort für Sie Frage lautet:
-
für Wenn der Benutzer drücken sich abzumelden. (Benutzer geht auf bestimmte Seite - Beispiel - default.aspx) Sie können einen Linkbutton als SignOut Link und in den Click-Ereignishandler hinzufügen, können Sie schreiben Response.Redirect ( "Default.aspx");
-
für Nun, wenn der Benutzer die Taste „Zurück“ -Button des Browsers gehen Sie darf nicht zur vorherigen Seite // hinter der Seite
den folgenden Code, um Ihren Code hinzufügenprotected override void OnPreRender (EventArgs e)
{
base.OnPreRender(e); string strDisAbleBackButton; strDisAbleBackButton = "<script language="javascript">\n"; strDisAbleBackButton += "window.history.forward(1);\n"; strDisAbleBackButton += "\n</script>"; ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "clientScript", strDisAbleBackButton);
}
siehe csharpdotnetfreak.blogspot.com