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)
War es hilfreich?

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ügen

    protected 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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top