В моем проекте asp.net mvc, когда вошедший в систему пользователь выходит из системы и нажимает кнопку «Назад», он может вернуться на страницу и получить доступ к данным, требующим входа в систему.
Я уже добавил эту страницу на страницу по умолчанию:
HttpContext.Current.Response.Cache.SetAllowResponseInBrowserHistory(false);
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetValidUntilExpires(true);
Это мой вызов контроллера выхода из системы:
Welcome <b><%= Html.Encode(Page.User.Identity.Name)%></b>!
<%-- [ <%= Html.ActionLink("Logout", "Logout", "Home")%> ] --%>
<a href="#" onclick="Javascript:DisableHistory()"> Logout</a>
function DisableHistory() {
alert("testing123");
window.history.forward(1);
window.location = "http://localhost/test.web/Home.aspx/Logout";
}
public ActionResult Logout()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index", "Home");
}
Это происходит только в Firefox. Как я могу избежать кеширования этой страницы.