繁体   English   中英

无论浏览器cookie设置如何,都不在IE9中设置ASP.NET Forms身份验证cookie

[英]ASP.NET Forms authentication cookie not set in IE9 regardless of browser cookie settings

我们有一个在.NET 3.5上运行的ASP.NET应用程序,并且在IE9上没有设置表单身份验证cookie时遇到问题。 我们可以在HTTP标头中看到响应中存在Set-Cookie标头,但以下请求不包含该cookie。

我已经尝试更改IE中我可以找到的与cookie有关的所有设置,没有任何帮助。 特别:

工具>选项>安全>可信站点>已添加..

工具>选项>安全>取消选中“启用保护模式”

工具>选项>隐私>接受所有Cookie(最低)

工具>选项>隐私>站点>已添加..

工具>选项>隐私>高级>覆盖自动..

工具>选项>隐私>高级>始终允许会话cookie

这是响应的标头,其中包含cookie,后跟下一个不包含它的请求:

HTTP/1.1 302 Found
Date: Sun, 29 Jan 2012 01:45:17 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Location: /Default.aspx
Set-Cookie: MyApp=34C244EF0AAD...; expires=Sun, 29-Jan-2012 03:45:17 GMT; path=/
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 8520


GET /Default.aspx HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://app.myserver.edu/sec/login.aspx
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; MALC)
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: app.myserver.edu
Pragma: no-cache
Cookie: ASP.NET_SessionId=nybswv45aezj5wioscv832jg

有没有办法找出为什么IE9没有设置cookie? 我可以在我的Web.config中调整哪些会影响这个? 我的身份验证部分是:

    <authentication mode="Forms">
        <forms name="MyApp" loginUrl="/sec/login.aspx"/>
    </authentication>

Simon Svensson的评论是正确的。 上面发布的标题很旧,但不像标题中的日期那么旧。 服务器时间关闭了几天,所以当服务器发送过期时间时,即使它比服务器响应时间早两个小时,它也会超过客户端时钟的过期时间。

修复服务器时钟解决了这个问题。 谢谢西蒙!

如果要在IFRAME中加载ASP.NET网站,则需要包含P3P标头。 请参阅Internet Explorer中阻止/未保存在IFRAME中的Cookie

我相信您的网站正在使用Chrome,Firefox等,因为您特别提到了IE9。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM