Как очистить / выйти из сеанса, если пользователь нажимает кнопку «Назад» в браузере в asp.net

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

Стек технологий:

  • Microsoft.NET
  • Сценарий Java / C #

  • IE7/8/9/10

  • Хром
  • Сафари
  • Mozilla

person SharpCoder    schedule 20.02.2014    source источник
comment
возможный дубликат asp.net обработки события кнопки «Назад» после выхода из системы   -  person CodeCaster    schedule 20.02.2014


Ответы (2)


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

Вы можете попробовать отключить кеш, добавив метаинформацию в раздел заголовка 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" />

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

person semao    schedule 20.02.2014

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

$(window).bind('beforeunload', function (event) {
   //if(some condition that detects user hasn't clicked a link on your page)
       location.href = "/signout.aspx";
}
person nima    schedule 20.02.2014