2012-04-13 30 views
1

Hier ist mein Code:Zugriff auf Sessions Variablen im Code hinter

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Session["Authenticated"]) 
     { 
      Response.Redirect("index.aspx", false); 
     } 
    } 

Sobald sie anmelden ich die Sitzung auf true gesetzt. Im Grunde, wenn sie keine aktive Sitzung haben, möchte ich, dass sie zurück zur Index-/Anmeldeseite geleitet werden. Wie erreiche ich das?

Antwort

1

Verwenden Sie dieses Kontroll

if(Session["Authenticated"] == null || !(bool)Session["Authenticated"]) 
+0

Das hat perfekt funktioniert. Vielen Dank! –

1

Wenn Sie Cookie verwenden, können Sie einen Marker in Ihrem Cookie speichern, damit Sie den Unterschied zwischen "Neuer Browser + neue Sitzung" und "Alter Browser + abgelaufene Sitzung" erkennen können.

Unten finden Sie Beispielcode, der den Benutzer auf eine abgelaufene Seite umleitet, wenn die Sitzung abgelaufen ist.

void Session_OnStart(Object sender, EventArgs e) 
{ 
    HttpContext context = HttpContext.Current; 
    HttpCookieCollection cookies = context.Request.Cookies; 
    if (cookies["starttime"] == null) { 
    HttpCookie cookie = new HttpCookie("starttime", DateTime.Now.ToString()); 
    cookie.Path = "/"; 
    context.Response.Cookies.Add(cookie); 
    } 
    else { 
    context.Response.Redirect("expired.aspx"); 
    } 
} 

Und wenn Sie versuchen, Sitzungen implementieren könnte dies helfen Ihnen http://aspalliance.com/1621_Implementing_a_Session_Timeout_Page_in_ASPNET.2

+0

immer geben mir gut liest, danke @DotNetter –

+0

@ James-Sie herzlich willkommen. – coder

Verwandte Themen