1

以下のリンクを使用してセッションを終了しました。

http://pure-essence.net/2010/02/14/jquery-session-timeout-countdown/

その中で私はログインページにリダイレクトすることができます。しかし、ユーザーはログオフしていません。そのページにリダイレクトしているだけです。ただし、ログアウトしていません。その場合、どうすればセッションをログアウトできますか。どんな助けでも大歓迎です。

4

2 に答える 2

3

短い答え:使用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]、認証されたユーザーのみがすべてのメソッドにアクセスできるようにします。

お役に立てれば。

于 2012-12-18T07:26:02.930 に答える
1
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);

これは新しいバージョンで機能するはずです。

于 2017-11-23T13:04:16.350 に答える