2014-02-20 2 views
0

Необходимо очистить сеанс на кнопке браузера (переадресовать на страницу входа или ошибки), и если пользователь снова вставляет тот же URL в браузер для доступа на веб-странице или нажмите кнопку браузера, потому что сеанс истек/оставлен, поэтому переадресовывается на страницу входа или ошибки. Та же самая или любая веб-страница приложения не должна отображаться в кеше браузера в любой момент времени.Как очистить/отказаться от сеанса, если пользователь нажимает на браузер. Кнопка «Назад» в asp.net

Technology Stack:

  • Microsoft.NET
  • Java Script/C#

  • IE7/8/9/10

  • Chrome
  • Safari
  • Mozilla
+1

возможно дубликат [обработки asp.net Назад событие кнопки после выхода] (http://stackoverflow.com/questions/3433485/asp-net-handling-back-button-event-after-logout) – CodeCaster

ответ

3

К сожалению, большинство современных браузеров перезагружают страницу из кеша после нажатия кнопки «Пользователь». На сервер не поступает запрос.

Вы можете попробовать отключить кеш addind метаинформации в HTML головной секции:

<meta http-equiv="cache-control" content="max-age=0" /> 
<meta http-equiv="cache-control" content="no-cache" /> 
<meta http-equiv="expires" content="0" /> 
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> 
<meta http-equiv="pragma" content="no-cache" /> 

, но имейте в виду, что его браузер, который решает, какое содержание перезагружать из кэша и то, что запрос контента снова.

0

Я не думаю, что отключение кэша - хорошая идея. Единственное, что важно для вас, это то, что пользователю нужно будет войти в систему и начать работу, когда он нажимает кнопки навигации. Вам нужно иметь страницу вывески, которая делает все, что вам нужно сделать, чтобы выходить из системы и очищать сеанс, а затем перенаправлять на эту страницу, когда пользователь перемещается.

$(window).bind('beforeunload', function (event) { 
    //if(some condition that detects user hasn't clicked a link on your page) 
     location.href = "/signout.aspx"; 
} 
Смежные вопросы