4

我将 .net 2.0 应用程序升级到 net 4.0,现在如果我尝试使用 IE 登录,会话会立即过期。

有人对在哪里寻找这个问题有任何想法吗?

Firefox 可以正常登录。

谢谢。

编辑,更多信息:检查 IE 的 cookie 和 firefox 的 cookie,似乎没有在 IE 中创建 cookie,而是在 firefox 中创建。关于为什么会这样的任何想法?还在摸索,但是有点难……

最后编辑;已修复:原来这与 asp 4.0 无关。我升级了应用程序并将其设置在子域上进行测试,以确保一切正常,并且子域中有一个 _。经过大量研究,IE 不会从带有 _ 的域中获取 cookie。显然,这是有意设计的,因为从技术上讲,DNS 规则禁止在域中使用下划线。更改为 - 并且可以正常工作。

4

2 回答 2

2

最后编辑;已修复:原来这与 asp 4.0 无关。我升级了应用程序并将其设置在子域上进行测试,以确保一切正常,并且子域中有一个 _。经过大量研究,IE 不会从带有 _ 的域中获取 cookie。显然,这是有意设计的,因为从技术上讲,DNS 规则禁止在域中使用下划线。更改为 - 并且可以正常工作。

于 2012-04-23T20:27:26.060 回答
0

如果您的应用程序在 Firefox 上运行良好,那么可能是因为 IE 8。IE 8 对 cookie 处理有不同的设置。这是解决该问题的方法:-

1) 工具 -> Internet 选项 -> 隐私 -> 高级 -> 选中覆盖自动 cookie 处理。2) 在第一方 Cookie 中选择接受并选择接受第三方 cookie 3) 选中始终允许会话 cookie

如果您无法更改客户端浏览器上的设置,请尝试无 cookie 会话。为此,只需定义:-

<sessionState cookieless="true" />

在您的网络配置文件中。

有关无 cookie 会话的详细信息:-

http://msdn.microsoft.com/en-us/library/aa479314.aspx

于 2012-04-23T07:37:52.340 回答