Redirect to login if the other page is idle for 1 minutes c#

时间:2015-04-23 05:20:02

标签: c# asp.net session session-timeout

I want that if user is not accessing site for 1 minutes(means browser is idle for 1 min) , after 1 min. when user clicks on any link, his session should be expired and he has to provide login credentials again.

Login Page:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default3Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Session["id"] = TextBox1.Text;
        //Session["pass"] = TextBox2.Text;
        Response.Redirect("Default3Logout.aspx");
        Session.RemoveAll();

    }
}

Home page :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default3Logout : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Label2.Text = Session["id"].ToString();

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
       //Session.Remove("id"); you wana remove one by one use this.
        Session.RemoveAll();
        Response.Redirect("Default3Login.aspx");
    }
}

2 个答案:

答案 0 :(得分:1)

You'll have to maintain session for users. You can refer to this Link for session management.

答案 1 :(得分:1)

表格身份验证是您的选择。但是如果你没有使用它(或者即使你正在使用它),也可以通过javascript轻松完成。

您可以将您的用户重定向到Logout-page或调用方法,将他注销到您将他踢出会话的位置。

另一个好处是,当用户与页面交互时,您可以顺利地重置巡视计时器。(查看javascript events)。这是这样做的可能方向之一。

以下是一些相关代码:

//javascript function
function logout()
{
    //hit the logout page or method using jQuery/xmlhttp
    $.post("logout.aspx?action=logout",{},function(data){
    location.href="logout.aspx";
});
}

在代码隐藏文件中包含以下用于peform注销操作的代码

//under pageload of logout.aspx
if(request.Querystring["action"]!=null)
{
  response.clear();
  Session.abondon();
  response.write("Success");
  response.End();
}

尝试&干杯!!