Monday, December 8, 2014

Auto redirect to login page when Session is expired

Auto redirect to login page on session timeout. Just added the below method in you page.

Note: This code is reference from other site.
private void CheckSessionTimeout()
        {
            string msgSession = "Warning: Within next 3 minutes, if you do not do anything, our system will redirect to the login page. Please save changed data.";
            //time to remind, 3 minutes before session ends
            int int_MilliSecondsTimeReminder = (this.Session.Timeout * 60000) - 3 * 60000;
            //time to redirect, 5 milliseconds before session ends
            int int_MilliSecondsTimeOut = (this.Session.Timeout * 60000) - 5;

            string str_Script = @"
                    var myTimeReminder, myTimeOut;
                    clearTimeout(myTimeReminder);
                    clearTimeout(myTimeOut); " +
                    "var sessionTimeReminder = " +
                      int_MilliSecondsTimeReminder.ToString() + "; " +
                    "var sessionTimeout = " + int_MilliSecondsTimeOut.ToString() + ";" +
                    "function doReminder(){ alert('" + msgSession + "'); }" +
                    "function doRedirect(){ window.location.href='login.aspx'; }" + @"
                    myTimeReminder=setTimeout('doReminder()', sessionTimeReminder);
                    myTimeOut=setTimeout('doRedirect()', sessionTimeout); ";

             ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(),
                   "CheckSessionOut", str_Script, true);
        }


protected void Page_Load(object sender, EventArgs e)
{
 this.CheckSessionTimeout();
}



No comments:

Post a Comment