"How to detect Session Timeout And Redirect To Login Page In ASP.NET "



我在asp.net中有一个登录页面,如果成功登录,下一页将显示登录时间。然后如何编写一个通用函数来检测会话超时并重定向到登录。这样我就可以把它调用到所有其他的页面

public partial class Login : System.Web.UI.Page
{
MainClass obj = new MainClass();
protected void bt_login_Click(object sender, EventArgs e)
{
    string s_name;
    SqlCommand cmd = new SqlCommand("select staff_id,staff_name from staff_details where staff_id='" + tb_loginid.Text + "' ", con);
    con.Open();
    SqlDataReader dr = cmd.ExecuteReader();
    if (dr.HasRows == true)
    {
        if (tb_password.Text == "ABCD" )
        {
            dr.Read();
            string id = dr[0].ToString();    
            s_name = dr[1].ToString();
            Session["staffname"] = s_name;
            Session["staffid"] = tb_loginid;
            String last_interaction_time = DateTime.Now.ToShortTimeString();
            Session["lasttime"] = last_interaction_time;
            Response.Redirect("Successfully_loggedin.aspx");
        }
    }
        else
        {  ScriptManager.RegisterStartupScript(this, this.GetType(), "alertmessage", "javascript:alert('Incorrect LoginID or Password!')", true);
            lb_invalid.Visible = true;
            tb_password.Text = "";
        }
}
}

和logged_in页

public partial class Successfully_logined : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
 string name=(string)Session["staffname"];
 lb_welcome.Text = "Welcome " + name+"!";
 string last_login_time= (string)Session["lasttime"];
 lb_logintime.Text =last_login_time;
}

}

和网络。Config is

<sessionState mode="InProc" cookieless="false" timeout="1">

您有检查条件..您检查Pageload也....

     if (Session["Username"] != null)
     { 
           // Code here 
     }
     else
     {
         Response.Redirect("login.aspx");
     }

更多详情…点击这里…Session_timeout

最新更新