如何在ASP.NET窗体身份验证重定向上设置缓存控件标头?

如何在ASP.NET窗体身份验证重定向上设置缓存控件标头?,asp.net,authentication,caching,forms-authentication,Asp.net,Authentication,Caching,Forms Authentication,我有一个使用标准表单身份验证的ASP.NET应用程序。想象一下下面的场景 用户(未经身份验证)请求(需要对用户进行身份验证) 答复: HTTP/1.1 302 Found Cache-Control: private Content-Type: text/html; charset=utf-8 Location: /Login?ReturnUrl=%2fFoo (rest of response headers and body omitted...) 找到HTTP/1.1 302 缓存控制:

我有一个使用标准表单身份验证的ASP.NET应用程序。想象一下下面的场景

  • 用户(未经身份验证)请求(需要对用户进行身份验证)

  • 答复:

    HTTP/1.1 302 Found Cache-Control: private Content-Type: text/html; charset=utf-8 Location: /Login?ReturnUrl=%2fFoo (rest of response headers and body omitted...) 找到HTTP/1.1 302 缓存控制:专用 内容类型:text/html;字符集=utf-8 位置:/Login?返回URL=%2fFoo (其余响应标题和正文省略…)
  • 用户登录

  • (稍后)用户(已验证)请求

  • 在这一点上,我观察到,有时Chrome会缓存重定向和登录页面,从而向已经登录的用户显示登录页面,而不向服务器发送请求。如果Chrome开发者工具是开放的(所以我可以肯定地证明它),这似乎不会发生,但它会解释我所观察到的,并且可以从IIS日志中拼凑出来,等等

    我相信我可以通过在302重定向响应中包含
    缓存控制:no Cache
    头来阻止Chrome这样做。我可以让Forms Auth模块执行此操作吗