次のコード行を使用して、ログアウト後のブラウザの戻るボタンの問題を無効にしていますasp.net MVC4.
[OutputCache(NoStore = false, Duration = 0, VaryByParam = "None")]
public ActionResult Logout()
{
try
{
if (Session["username"] != null)
{
Session.Abandon();
Session.Clear();
Session.RemoveAll();
Session["username"] = null;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
return RedirectToAction("Index", "AdminPanel");
}
return RedirectToAction("Error", "Home");
}
catch (Exception e)
{
return RedirectToAction("Error", "Home");
}
}
しかし、このコードには 1 つの問題があります。最初の 3 つのページがログイン ページ(Index.cshtml)
で、2 番目のページが正常にログインしたページ(home.cshtml)
で、3 番目のページが about pageであると仮定すると、ログインすると、次に進むとページ(about.cshtml)
にリダイレクトされます。 home.cshtml
3番目のページabout.cshtmlの後、ページからログアウトすると、about.cshtml
ページにリダイレクトされlogin.cshtml
ます。そして今、ブラウザの戻るボタンをクリックすると、about.cshtml
ページに再びリダイレクトされますが、ユーザーは何も変更または追加できませんでした。この問題を解決するための適切なコードまたは方法があるかどうか教えてください。