C# .NET - how to redirect user to login page when back button is clicked

Asked By abinav shankar on 20-Jan-12 07:37 AM
Hi

I want to redirect the user to login page when back button is clicked how to do it
dipa ahuja replied to abinav shankar on 20-Jan-12 07:40 AM
Write this code in the page from where you dont want to go back:
 
protected void Page_Load(object sender, EventArgs e)
{
  Session.Abandon();
  Session.Clear();
  Page.RegisterClientScriptBlock("", "<script>if(history.length>=0)history.go(+1);</script>");
}
  
 
 
 
Suchit shah replied to abinav shankar on 20-Jan-12 07:46 AM

JavaScript to prevent Browser BACK button click after SignOut

There are so many threads open related to this issue.

After sign out when the user press BACK button on the browser, it gets him to the members page.

Logicaly, it's done on the client side and we cannot do much from the code-behind. So, in order to prevent Browser BACK button click after SignOut, we have to use some javascript.

The first and easiest approach to acomplish this is by using the following javascript code:

<body onload="javascript:window.history.forward(1);">

This code should be placed on the <body> tag of the Members page where Log out button appears.

The problem is that this code will work perfectly on IE (Internet Explorer) but won't work at all for Mozilla Firefox 3.x versions.

So, in order to make this work on Mozilla Firefox, I've prepared Javascript function which is:

<script type="text/javascript" language="javascript">
function disableBackButton()
{
window.history.forward()
}
disableBackButton();
window.onload=disableBackButton();
window.onpageshow=function(evt) { if(evt.persisted) disableBackButton() }
window.onunload=function() { void(0) }
< /script>

then call noBack() function on <body> on the following way:
< body onload="noBack();">

This code will not let the user get BACK after Sign out.

Refrence :
http://wiki.asp.net/404.aspx?aspxerrorpath=/themes/fan/pages/page.aspx/870/javascript-to-prevent-browser-back-button-click-after-signout/

Suchit shah replied to abinav shankar on 20-Jan-12 07:47 AM

By default, when you click back button on browsers, page loads from cache. Try this...

http://forums.asp.net/t/1477853.aspx#http://forums.asp.net/t/1477853.aspx#http://forums.asp.net/t/1477853.aspx#http://forums.asp.net/t/1477853.aspx#
  1. Response.Cache.SetCacheability(HttpCacheability.NoCache);
  2. Response.Cache.SetExpires(DateTime.Now);

The above code will disable page cache. Since the page is not being cached on the browser, the page will be reloaded when the user hits the back button. And on each Page_Load, check for null session. Redirect users to error page if session is null