Solved

How to redirect to login page automatically, after session time out.

Posted on 2008-05-14
9
1,378 Views
Last Modified: 2013-11-07
How to redirect to login page automatically, after session time out?
In my web application, user logs in in the application, after a certain time (30 mins) session times out and login page appears only AFTER user action.
I would like to redirect the user back to the login screen automatically (before user performs any action) after session has timed out.

Your suggestions will be greatly appreciated.
I used following code in pagerender of masterpage.
 
 HttpContext.Current.Response.AppendHeader("Refresh", Convert.ToString(((HttpContext.Current.Session.Timeout * 60) - 5)) + "; Url=homepage.aspx")
 
Also, i have Session_Start/Session_end in global.asax.

Open in new window

0
Comment
Question by:sivachirravuri
  • 5
  • 4
9 Comments
 
LVL 21

Expert Comment

by:naspinski
ID: 21562033
There is no 'good' way to do this.  

One would be to simply include a META refresh tag set to the time you want to refresh (the 3600 is 3600 seconds/60 minutes):

<meta http-equiv="refresh" content="3600;url=http://yoursite/login.aspx"/>

Another way would be to call a Javascript or C#/VB timer and call the refresh when the timer hits a certain time.  With the C# option, you would check to make sure the session is dead.

If you included one of these methods on your page, it would be self-regulating since it would refresh every time the page refreshes which would correspond to the session refreshing.  
0
 
LVL 5

Author Comment

by:sivachirravuri
ID: 21562788
Thanks for you suggessions.
I have created a Javascript timer in class file & refreshing page. But i m getting JS error at the time of page refresh.
Can you suggest this appraoch with some sample code.
0
 
LVL 21

Expert Comment

by:naspinski
ID: 21562820
Keeping it as simple as possible:

<meta http-equiv="refresh" content="3600;url=http://yoursite/login.aspx"/>
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 5

Author Comment

by:sivachirravuri
ID: 21563340
Problem for using <meta http-equiv="refresh" content="3600;url=http://yoursite/login.aspx"/> is
I have almost 70-100 pages in my website. It will be hectic for me to include this in all pages.

Thanks, Sp
0
 
LVL 21

Expert Comment

by:naspinski
ID: 21563376
understandable, you could use this if you were using masterpages, are you?

If not I can throw together a js example.
0
 
LVL 21

Accepted Solution

by:
naspinski earned 300 total points
ID: 21563505
Javascript:
function timeout(){window.location = "http://google.com"}

call it in your html:
<body onload="setTimeout('timeout()', 5000)">

But you would still have to put this into every page... not sure how you are going to accomplish this without masterpages.
0
 
LVL 5

Author Comment

by:sivachirravuri
ID: 21564116
Yes, I use masterpages. But, can we give the following line master pages? I am not aware of that.
<meta http-equiv="refresh" content="3600;url=http://yoursite/login.aspx"/>
If yes, then my problem will be solved.

Alternative option:
This option I am trying to implement. I have global Pagebase.vb file that is called in all the forms. I will implement in that.
Javascript:
function timeout(){window.location = "http://google.com"}
call it in your html:
<body onload="setTimeout('timeout()', 5000)">

Regards,
0
 
LVL 21

Expert Comment

by:naspinski
ID: 21564564
If you place that in the <head> of your masterpage, it will be replicated on each page that uses the master.
0
 
LVL 5

Author Closing Comment

by:sivachirravuri
ID: 31457750
Thanks for the quick replies. It solved my problem. Thanks a Ton.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
ASP.net File format issue in producing Excel file 3 37
start a process from a service 3 23
List<PaisEntity> - show some 1 24
Convert datetime to time string 10 21
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question