以下のリンクを使用してセッションを終了しました。
http://pure-essence.net/2010/02/14/jquery-session-timeout-countdown/
その中で私はログインページにリダイレクトすることができます。しかし、ユーザーはログオフしていません。そのページにリダイレクトしているだけです。ただし、ログアウトしていません。その場合、どうすればセッションをログアウトできますか。どんな助けでも大歓迎です。
以下のリンクを使用してセッションを終了しました。
http://pure-essence.net/2010/02/14/jquery-session-timeout-countdown/
その中で私はログインページにリダイレクトすることができます。しかし、ユーザーはログオフしていません。そのページにリダイレクトしているだけです。ただし、ログアウトしていません。その場合、どうすればセッションをログアウトできますか。どんな助けでも大歓迎です。
短い答え:使用FormsAuthentication.SignOut();
長い答え
public ActionResult LogOff()
{
FormsAuthentication.SignOut();
return RedirectToAction("Login", "Account");
}
private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
[Authorize]
ログアウト後にユーザーに実行させたくないアクションを上記で使用します。これを行うには、アクションの上にこの属性を個別に追加するか、クラス全体にマークを付けて[Authorize]
、認証されたユーザーのみがすべてのメソッドにアクセスできるようにします。
お役に立てれば。
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
これは新しいバージョンで機能するはずです。