【发布时间】:2009-10-10 11:02:27
【问题描述】:
在 IIS 中我有:
http://myserver/myapplicationhttp://myserver/reports
报告应用实际上是使用 Windows 身份验证的报告服务。 myapplication 是一个使用表单身份验证的 asp.net 应用程序。
服务器在公司域之外。如果我首先访问报告并在提示时输入用户和密码(在服务器上创建的本地凭据),我可以访问报告页面,没有问题。如果然后我直接进入我的应用程序的登录页面并尝试登录,登录页面会刷新而不做任何事情。这总是在 IE 6 中发生。在 IE 7 中它会间歇性地发生。在 Firefox 中或 Fiddler 在后台运行时不会发生,这似乎可以即时解决问题。
我使用wireshark查看发生了什么,发现IE 6将从reports app获取的windows身份验证令牌发送到myapp。这是 IE 和 Firefox 之间的唯一区别。 IIS 似乎吓坏了,只是将我对登录页面的 POST 解释为 GET 并返回。
如果我将 Windows 身份验证添加到 IIS 中的 myapplication 中,一切似乎都可以在任何浏览器上正常工作。
为什么会这样? IE 中的错误还是我遗漏了什么?
【问题讨论】:
标签: iis forms-authentication internet-explorer windows-authentication