0

Я работаю над небольшим проектом MVC asp.net. Существует веб-сервис, который проверяет клиента. После проверки я сохраняю информацию пользователя в переменной Session и устанавливаю ее значение null после выхода из системы. У меня есть пользовательский Authorization фильтр так:Пользовательский авторизованный атрибут не работает с кэшированным запросом

public class MgAuthorizeAttribute : AuthorizeAttribute 
{ 
    protected override bool AuthorizeCore(HttpContextBase httpContext) 
    { 
     if (httpContext.Session["Customer"] == null) 
     { 
      httpContext.Server.TransferRequest("~/Upgrade/Login"); 
      return false; 
     } 

     return true; 
    } 
} 

Проблема заключается в том, что не проверяет пользователя, когда кнопка нажата назад в браузере. Таким образом, пользователь может получить доступ к защищенным страницам даже после выхода из приложения. Пожалуйста, предложите мне самый умный способ справиться с этим сценарием. ТИА.

ответ

0

Возможно, вы можете использовать return RedirectToActionPermanent();, чтобы отключить кнопку «Назад». Достигает ли это того, чего вы хотите? Дай мне знать.

+0

Спасибо за ответ. На самом деле то, что я делаю сейчас, похоже на нечто подобное - отключение кнопки «Назад» с помощью javascript. Но этого я не хочу. Я не хочу препятствовать естественному поведению браузера. Скорее, я бы предпочел, чтобы система перенаправлялась на страницу входа, когда пользователь хочет получить доступ к несанкционированным действиям. – Afifa

Смежные вопросы