我有一个使用标准表单身份验证的ASP.NET应用程序。想象一下以下场景
用户(未经过身份验证)请求http://myapp.com/Foo(要求用户进行身份验证)
回复:
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://myapp.com/Foo
此时,我发现有时Chrome会缓存重定向和登录页面,因此会向已登录用户显示登录页面,而不向服务器发送请求。如果Chrome开发人员工具是开放的(因此我可以明确地证明它),似乎不会发生这种情况,但它可以解释我观察到的内容并可以从IIS日志中拼凑起来等。
我相信我可以通过在302重定向响应中添加Cache-Control: no-cache
标头来阻止Chrome执行此操作。我可以让Forms Auth模块执行此操作吗?