仅在IIS 7.5经典模式下,IE的表单身份验证失败

时间:2010-11-15 15:39:40

标签: forms-authentication iis-7.5

以为是时候把它带到堆栈了。我们在Windows Server 2008上安装了IIS 7.5(经典模式),。net 2.0。该应用程序从.net 1.1升级而不需要任何问题/更改。它是从Server 2000迁移过来的。一旦进入新家,Forms Authentication就开始为IE用户打嗝了。 IE用户可以登录,到达成功的登录目标页面,其中有一段文本,一个WebControlLibrary声音位(mp3)和一个asp按钮。点击按钮后,IE用户立即被送回登录。它发生得如此之快,似乎没有回发,但是fiddler说它确实发生并且显示它回复了两次,其中混合了偷偷摸摸的302重定向。

在fiddler上,Firefox没有显示302并且与Chrome一样正常。这只发生在我们的网络外部,在IE7 / 8上,内部测试很好。

我已经看到用户在哪里报告了网址中的下划线可能会导致这种情况......没有。在IIS 7.5中混合身份验证模式可能会导致问题,我们使用经典模式。我已经看到javascript用于调用按钮的回发可以导致这种情况,我们在代码后面使用标准的.net按钮onclick事件(只需检查页码,然后将响应重定向到应用程序中的下一页。)< / p>

我已经漫游google和bing(和这里)几天的大部分时间都无济于事。我为这个问题的模糊性道歉。

编辑: 服务器名称中没有下划线。以下是用户可见的过程。您登录,登录页面刷新并要求您验证您是谁。如果你说是,你去instructions.aspx。当您点击“继续”时,此页面按钮将回发。 IE在第一次conitnue点击时死亡,注意小提琴中的奇怪东西...... FF很好,然后移动到app的其余部分。

IE 8
Result  Protocol    Host        URL                 Body
200     HTTP        CONNECT     /                   0
200     HTTPS       xxxxxx.com  /                   12,354
200     HTTPS       xxxxxx.com  /login.aspx         8,139
302     HTTPS       xxxxxx.com  /login.aspx         137
200     HTTPS       xxxxxx.com  /instructions.aspx  6935
302     HTTPS       xxxxxx.com  /                   131
302     HTTPS       xxxxxx.com  /logout.aspx        130
200     HTTPS       xxxxxx.com  /login.aspx         12,354
302     HTTPS       xxxxxx.com  /insturctions.aspx  167
200     HTTPS       xxxxxx.com  /login.aspx?ReturnUrl=&...


FireFox
Result  Protocol    Host        URL                 Body
200     HTTP        CONNECT     /                   0
200     HTTPS       xxxxxx.com  digicert.com        12,354
200     HTTPS       xxxxxx.com  /login.aspx         8,139
302     HTTPS       xxxxxx.com  /login.aspx         137
200     HTTPS       xxxxxx.com  /instructions.aspx  6935
200     HTTPS       xxxxxx.com  /images/xxx.jpg     47
200     HTTPS       xxxxxx.com  /images/xx2.jpg     46
200     HTTPS       xxxxxx.com  /instructions.aspx  12,354
200     HTTPS       xxxxxx.com  /images/xx3.jpg     49

2 个答案:

答案 0 :(得分:1)

从IE8开始,表格标签属性“domain ='domain.com'”是必需的。找到这个blob帖子Persistent Cookies Fail in IE8 and Windows 7 ,这已经解决了基于预测试的问题。

答案 1 :(得分:0)

_问题不适用于URL ...它适用于服务器名称。你可以检查并确认是不是这样吗?

同时安装Fiddler(www.fiddlertool.com),并从IE浏览网站。保存日志。立即清除日志...从Chrome浏览网站,然后重新保存。完成此练习后,请检查并比较日志。

[如果您按照提琴手的建议发送保存的日志,我可以提供帮助]