[.NET MVC] ASP.NET MVCブラウザキャッシュ:ブラウザ後退ボタンがActionに入らない
924 ワード
シーン:サイトlogout後、ブラウザの戻るボタンをクリックすると、前のページのActionで権限制御が行われていても、前のページに戻ります.
理由:戻るボタンはブラウザでキャッシュされたコンテンツを使用し、新しいHttpリクエストは生成されません.
解決策:(1)新しい
理由:戻るボタンはブラウザでキャッシュされたコンテンツを使用し、新しいHttpリクエストは生成されません.
解決策:(1)新しい
MainController
継承Controller
を作成し、OnActionExecuted
メソッドを上書きします.OnActionExecuted
でブラウザキャッシュをクリアします.public class MainController : Controller
{
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
Response.Buffer = true;
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.Cache.SetNoStore();
base.OnActionExecuted(filterContext);
}
}
(2)サイト内の他のController
は,このMainController
を継承する.public class AccountController : Controller
{
//...
}