2012-04-01 3 views
0

In meiner Anwendung nach dem Login gehe ich in die Homepage. Aber von der Startseite aus, wenn ich die Zurück-Taste des Browsers erneut drücke, schickt mich das System zur Login-Seite.Resist Benutzer zu gehen nach Login

Wie kann ich meinem Benutzer widerstehen? Wenn sie die Zurück-Taste drücken, während er/sie eingeloggt ist, wird das System sie auf dieselbe Seite zurücksenden, nicht im Login.

+0

warum möchten Sie das? Stellen Sie sich vor, Sie wären der Benutzer einer Website, die sich so verhält - würde es Ihnen wirklich gefallen, dass die Website sich trotzt/ignoriert, wenn Sie den Zurück-Knopf drücken? – Yahia

+0

Wenn Sie sich auf der Seite wie Orakel Forum anmelden, werden Sie sehen, nach der Anmeldung, wenn Sie zum ersten Mal in das Forum nach Hause gebracht werden, wenn Sie die Zurück-Taste drücken, wird es Ihnen zur Fehlerseite senden. Ich versuche es zu implementieren, möchte den Benutzer auf der Homepage platzieren. –

Antwort

1

Fügen Sie auf der Anmeldeseite ein Snippet hinzu, das überprüft, ob der Benutzer bereits angemeldet ist. Wenn er/sie ist; Leiten Sie den Benutzer dann zur Anmeldeseite um.

// In the login page 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (User.Identity.IsAuthenticated) 
      Response.Redirect("~/Default.aspx"); 
} 
+0

Danke für die Antwort. Ich habe diese Code-Schnipsel hinzugefügt, aber es funktioniert nicht, da wenn ich die Taste zurückdrücke, während ich in der Homepage bin, es nicht die Page_Load der Login-Seite aufruft. Ich habe System.Diagnostics.Debug.WriteLine in Page_Load platziert, um festzustellen, ob es aufgerufen wird oder nicht. Aber diese Aussage druckt nichts, dh sie wird nicht aufgerufen. –

+0

Überprüfen Sie die korrekte Methodensignatur. Verwenden Sie auch AutoEventWireup = True –

+0

Das AutoEventWireup wurde zuvor auf True festgelegt. –

1

Tun Sie das nicht; das einzige, was du erreichen wirst, ist nervig zu sein.

Die Zurück-Taste soll zurückgehen.

2

An der Spitze Ihrer Login.aspx Seite, fügen Sie die folgende Zeile eines Browser von Caching der Login-Seite zu verhindern:

<%@ OutputCache Location="None" NoStore="True" %> 

Dann in Login.aspx.cs, umleiten, wenn die zu Ihrer Homepage Benutzer ist bereits angemeldet:

protected override void OnPreInit(EventArgs e) 
{ 
    if (this.Request.IsAuthenticated) 
     this.Response.Redirect("~/Home.aspx"); 

    base.OnPreInit(e); 
} 
Verwandte Themen