【问题标题】:IE auth cookie is not passingIE auth cookie 没有通过
【发布时间】:2014-01-17 13:12:35
【问题描述】:

我正在使用一个 asp.net M V C 应用程序。当我在 IE 中登录时,第一次登录是可能的。从下一次登录请求开始,身份验证令牌未在请求标头中传递。

第一次登录时,我得到的响应代码为 200 OK。然后在下一次登录时,我得到的响应状态代码为 304 Not modified,并且我的令牌没有传入请求标头。IE 的实际问题是什么?

这里我正在使用表单身份验证。

<authentication mode="Forms">
      <forms name=".AUTH" loginUrl="~/Account/LogOn" timeout="2880" cookieless="UseCookies"/>
    </authentication>

在调试模式下,登录和身份验证令牌正在传递。但是当我托管它时,这些问题正在发生

【问题讨论】:

  • 301 未修改,304 = 未修改,301 = 永久移动。请首先澄清您得到的确切响应代码,因为它们可能是完全不同的情况。另外,您最好解释或留下一些登录表单和登录进度的代码,以便我们排查问题。
  • 我的错误是 304 Not Modified。第一次可以登录
  • 那说明你的登录动作结果已经被缓存了。这不常见,因为通常登录请求是 POST,默认情况下不应缓存。你能解释一下你的详细登录进度吗(最好用一些最少的代码)?是通过常规表单帖子,还是 ajax 表单帖子,还是其他方式?

标签: jquery asp.net asp.net-mvc internet-explorer cookies


【解决方案1】:

正如我在 IE 中分析的 ajax 请求,304 结果正在到来,因为它是从缓存加载的。所以在第二次登录期间,请求没有在服务器中命中。所需的数据是从缓存加载的。所以我找到了解决方案,在调用 ajax 请求之前,您必须添加

$.ajaxSetup({ cache: false });

现在我的应用程序工作正常,身份验证工作正常

【讨论】:

    猜你喜欢
    • 2015-08-12
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    相关资源
    最近更新 更多