5

カスタム認証を作成しました。ここで、ログオフ ボタンのクリック時にブラウザのキャッシュを無効にしたいと考えています。どうすればいいですか?ログオフ アクションには何を含める必要がありますか?

私はフォローしています: http://www.bradygaster.com/custom-authentication-with-mvc-3.0

4

1 に答える 1

19

ログオフ後のブラウザの戻るボタンが気になりますか?

はいの場合、ログオフ時にキャッシュを無効にしないでください。キャッシュしたくないすべてのページで無効にする必要があります。この場合、すべての認証済みページになります。

これは、カスタム アクション フィルターを記述することで実行できます。

public class NoCacheAttribute : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        var response = filterContext.HttpContext.Response;
        response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
        response.Cache.SetValidUntilExpires(false);
        response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
        response.Cache.SetCacheability(HttpCacheability.NoCache);
        response.Cache.SetNoStore();
    }
}

そしてそれであなたの行動を飾ります:

[Authorize]
[NoCache]
public ActionResult Foo()
{
    ...
}
于 2012-07-20T06:45:16.563 に答える