このコードを使用してログオフを行います
public ActionResult LogOff()
{
FormsAuthentication.SignOut();
// Drop all the information held in the session
Session.Clear();
Session.Abandon();
// clear authentication cookie
HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, "");
cookie1.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie1);
// clear session cookie
HttpCookie cookie2 = new HttpCookie("ASP.NET_SessionId", "");
cookie2.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie2);
foreach (var cookie in Request.Cookies.AllKeys)
{
Request.Cookies.Remove(cookie);
}
return RedirectToAction("Index", "Home");
}
ローカルでは問題なく動作しますが、サーバーにアプリを公開すると、ユーザーが既にログオフしていても、ユーザーがブラウザのBack
ボタンをクリックするとページが表示されます。