我将.net 2.0应用程序升级到net 4.0,现在如果我尝试使用IE登录,会话会立即过期。
有没有人对在哪里寻找这个问题有任何想法?
Firefox可以正常登录。
感谢。
编辑,更多信息:检查IE的cookie和firefox的cookie,似乎没有在I.E中创建cookie,但它是在firefox中创建的。 关于为什么会这样的任何想法?仍然深入研究但很难......
最后编辑;修复:原来这与asp 4.0无关。我升级了应用程序并将其设置在子域上进行测试以确保一切正常,并且子域中有一个_。经过大量研究,IE不会从带有_的域中获取cookie。这显然是出于设计目的而完成的,因为技术上DNS规则禁止域中的下划线。改为 - 它有效。
答案 0 :(得分:2)
最后编辑;修复:原来这与asp 4.0无关。我升级了应用程序并将其设置在子域上进行测试以确保一切正常,并且子域中有一个_。经过大量研究,IE不会从带有_的域中获取cookie。这显然是出于设计目的而完成的,因为技术上DNS规则禁止域中的下划线。改为 - 它有效。
答案 1 :(得分:0)
如果你的应用程序在Firefox上工作正常,那么可能是因为IE 8. IE 8有不同的cookie处理设置。以下是该问题的补救措施: -
1)工具 - >互联网选项 - >隐私 - >高级 - >检查覆盖自动cookie处理。 2)选择第一方Cookie中的接受,然后选择接受第三方Cookie 3)选中始终允许会话cookie
如果您无法在客户端浏览器上更改设置,请尝试无cookie会话。要做到这一点,只需定义: -
<sessionState cookieless="true" />
在您的网络配置文件中。
有关无Cookie会话的详细信息: -