2

ajax 呼び出しを使用setIntervalして、毎分新しいメッセージをチェックします。この呼び出しは認証 Cookie を拡張するため (slidingExpiration を true に設定しているため)、認証が期限切れになることはありません。

この質問には同様の問題がありましたが、解決策はクラス .net プロジェクト用であり、MVC プロジェクトに適用する方法がわかりません。

[DoNotExtendAuthentication]解決策が、アクションを平手打ちできるような属性の形であるといいのですが、助けていただければ幸いです。

4

1 に答える 1

4
public class DoNotExtendAuthenticationAttribute : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        filterContext.HttpContext.Response.Cookies.Remove(
            FormsAuthentication.FormsCookieName
        );
    }
}

その後:

[Authorize]
[DoNotExtendAuthentication]
public ActionResult SomeAction()
{
    ...
}
于 2013-01-25T08:54:46.653 に答える