4

我有一个 ASP.Net 应用程序,我在其中使用 Windows 身份验证来拒绝通过角色访问某些组件。使用 IE 时,站点会弹出一次“需要身份验证”框,允许用户输入 Active Directory 的用户名/密码,一切正常。

但是,当使用 Firefox 时,它会弹出“需要身份验证”框,但是当您单击“确定”时,它又会出现!它保持了几十次!如果您对所有这些都单击取消,它会正确失败,拒绝访问该站点。如果您对除 1 之外的所有选项都单击取消(您正确地进行了身份验证),则它就像您已正确地进行了身份验证一样。

我的目标是让 Firefox 像 IE 一样工作,并且只询问用户一次。

4

3 回答 3

3

此论坛帖子建议更新您的 web.config 以允许在 WebResource.axd 上匿名:http ://forums.asp.net/p/1295804/2515478.aspx#2515478

不理想 - 我真的不明白为什么 axd 请求会这样。

注意:NTLM 需要 keep-alive,如果您安装 fiddler 或 firebug,您应该能够在请求标头中看到“Connection: keep-alive”消息:http: //davenport.sourceforge.net/ntlm.html#ntlmHttpAuthentication

于 2009-07-08T03:13:39.877 回答
1

您可以通过将站点添加到 about:config >> network.automatic-ntlm-auth.trusted-uris 让 Firefox 表现得像 IE,然后 Firefox 将对该站点使用 Windows Auth

于 2009-07-08T02:18:42.413 回答
-1

也许最好重新设计您的登录/身份验证系统,以便仅在用户第一次查看/登录网站(即 login.aspx 页面)时询问身份验证,以便之后用户的凭据缓存在您的整个网站中.

于 2009-07-08T03:01:45.590 回答