【发布时间】:2010-11-15 15:39:40
【问题描述】:
想是时候把它带到堆栈中了。我们在 Windows Server 2008 上有 IIS 7.5(经典模式)和 .net 2.0。该应用程序是从 .net 1.1 升级的,无需任何问题/更改。它是从 Server 2000 迁移而来的。在它的新家中,Forms Authentication 开始为 IE 用户带来麻烦。 IE用户可以登录,到达登录成功的目标页面,该页面有一段文字、一个WebControlLibrary声音位(mp3)和一个asp按钮。单击按钮后,IE 用户将立即返回登录。它发生得如此之快,似乎没有回发,但提琴手说它确实并显示它回发了两次,并混合了一个偷偷摸摸的 302 重定向。
在 fiddler 上,Firefox 没有显示 302,并且与 Chrome 一样运行良好。这也只发生在我们网络的外部,在 IE7/8 上,内部测试很好。
我在哪里看到用户报告说 url 中的下划线会导致这种情况..没有。在 IIS 7.5 中混合身份验证模式可能会导致问题,我们使用经典模式。我已经看到用于调用按钮回发的 javascript 会导致这种情况,我们在后面的代码中使用标准的 .net 按钮 onclick 事件(它只是检查页码,然后将响应重定向到应用程序中的下一页。)
我已经在谷歌和必应(以及这里)漫游了几天的大部分时间,但无济于事。对于问题含糊不清,我深表歉意。
编辑: 服务器名称中没有下划线。这是用户可见的过程。您登录,登录页面刷新并要求您验证您的身份。如果你说是,你去指令.aspx。当您点击“继续”时,此页面按钮将回发。 IE 在第一次 conitnue click 时死掉,并注意 fiddler 中的奇怪内容...FF 很好,可以继续应用程序的其余部分。
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
【问题讨论】:
-
似乎只有 IE 8,IE 7 似乎可以工作,并将通过进一步的测试进行验证
标签: forms-authentication iis-7.5