我正在使用MVC 6,并且我已经实现了Identity 3.0进行身份验证。
我正在尝试阻止用户在注销后单击浏览器后退按钮。我遇到的最接近的工作解决方案似乎在 MVC 6 中不起作用。
有人可以帮忙吗?
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class NoCacheAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
filterContext.HttpContext.Response.Cache.SetNoStore();
base.OnResultExecuting(filterContext);
}
}
你可以
使用它。
[AttributeUsage(AttributeTargets.Class |AttributeTargets.Method)] 公共密封类 NoCacheAttribute : ActionFilterAttribute { public override void OnResultExecuting(ResultExecutingContext filterContext) { filterContext.HttpContext.Response.Headers.Add("Cache-Control", "no-cache, no-store, must-revalidate");HTTP 1.1. filterContext.HttpContext.Response.Headers.Add("Pragma", "no-cache");HTTP 1.0。 filterContext.HttpContext.Response.Headers.Add("Expires", "-1");代理。 基础。OnResultExecuting(filterContext); } }