ASP.NET身份验证cookie仅在IE中消失,仅在特定位置消失

Arn*_*mir 5 asp.net authentication internet-explorer forms-authentication

Internet Explorer在一次重定向后未保留我的身份验证Cookie.

情况如下:

我有一个在共享的iis7主机上运行的ASP.NET 2.0 Web应用程序.应用程序使用表单身份验证来处理登录和用户身份,并在客户端计算机上为此目的编写cookie(.ASPXFORMSAUTH).

在IE中(使用版本8,9检查),从某些位置,在第一页之后不会保留身份验证cookie.观察到的行为是:

  1. 用户名和密码以登录表单提交
  2. 用户被成功重定向到登录后的第一页(并且fiddler显示存在.ASPXFORMSAUTH cookie)
  3. 单击另一个链接或点击F5进行刷新后,用户被认为是登录,并且身份验证cookie(根据fiddler)不再存在.在刷新/单击时,请求标头中缺少身份验证cookie.

这不会发生在Chrome/FF中,即使在IE中,它似乎也取决于我所连接的位置.

另外,在本地(使用VS2008中的内部开发服务器),所有工作正常,并且在小提琴手中反映也很好.

我现在正在敲打它几天.认为它可能是某种奇怪的防火墙问题,但无法确定任何结论.

我们将不胜感激.

小智 10

IE遭受了一个奇怪的错误 - 由于某些原因,如果域名中有非字母数字字符,IE将不会持久化cookie ...因此您将在不同的调用之间没有持久会话.

检查您的域中是否包含非字母数字字符,例如test_domain或test-domain等.不幸的是,我不知道是否存在任何修复错误的域名或直接通过IP访问它的问题.你在本地没有问题的原因是你指向http:// localhost,这很好.只要部署到非IE兼容域,您就会看到问题所在.

发生在我身上,花了几个小时才发现原因.希望这可以帮助.用火杀死IE的另一个原因.


kst*_*kst 0

1.尝试创建持久cookie

2.检查您的 IE cookie 设置