gpt4 book ai didi

asp.net-mvc - 仅为未经身份验证的用户缓存内容

转载 作者:行者123 更新时间:2023-12-04 17:27:55 30 4
gpt4 key购买 nike

对于网站,我只想为未经身份验证的用户缓存页面 - 经过身份验证的用户不会获得缓存的内容(因为他们将进行更新并需要立即查看结果)。

我知道如何使用 VaryByCustom 为每个用户改变缓存:
Link1
Link2

...但我不知道如何完全为经过身份验证的用户关闭缓存。

该怎么办?

编辑

如果已经有来自未经身份验证的用户的页面缓存版本,则下面的代码会出现问题。基本上,经过身份验证的用户将获得未经身份验证的事物 View 。

但是,这里的这个链接有一个有效的解决方案:Link

最佳答案

将此用作全局操作过滤器。

public class NoCacheForAuthenticatedUsersAttribute: ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
if(filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
}
}
}

关于asp.net-mvc - 仅为未经身份验证的用户缓存内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4897743/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com