我最近在我在 ASP.NET 中为我的公司创建的 Intranet 网站/应用程序上启用了摘要式身份验证。
我这样做的原因是因为 Windows 身份验证似乎只适用于某些用户,而不适用于其他用户。我不知道为什么,我对 IIS 的了解也不够多,无法尝试追踪问题。经过反复试验,我发现摘要式身份验证似乎给了我想要的行为。即:仅允许在域中具有有效帐户的用户使用其凭据登录网站。
现在的问题是 Firefox (3+) 似乎要求用户对发送到服务器的每个 HTTP 请求进行身份验证。在 Internet Explorer (6+) 或 Chrome 中似乎不会出现这种情况。
我尝试过寻找解决方案,但总是走入死胡同。我会找到有关该问题的讨论,并且每个发布的解决方案都会导致死链接……或者它在专家交流中,我无权查看解决方案。
这个问题似乎与(从我所读到的)不同的浏览器发送其身份验证标头的方式与 IIS 如何解释它们有关。我不确定我能做些什么来改变这一点?我发现的解决方案之一提到编写一个 ISAPI 过滤器来解决这个问题,但是到完成的过滤器的链接当然被破坏了,我不知道如何自己制作一个。
我尝试在 about:config 中弄乱 NTLM 和其他与身份验证相关的字符串,以尝试强制 Firefox 信任我的服务器,但这似乎也不起作用。
从我读过的其他一些资料来看,如果我切换回 Windows 身份验证,似乎一切都应该正常工作,但随后我又回到了第一方,身份验证仅适用于某些用户而不适用于其他用户。
任何一个问题的解决方案都对我有用,但我对 Windows 身份验证问题的信息很少。如果有人可以指导我跟踪问题,我也很乐意为此发布更多信息。
以下是我发现的讨论相同问题的 URL。(对不起,我无法将它们全部链接,否则我不会发布)
- support.mozilla.com/tiki-view_forum_thread.php?locale=pt-BR&forumId=1&comments_parentId=346851
- www.experts-exchange.com/Software/Internet_Email/Web_Browsers/Mozilla/Q_24427378.html
- channel9.msdn.com/forums/TechOff/168006-Twin-bugs-in-IIS-IE-unfair-competitive-advantage-EDIT-SOLVED/
- www.derkeiler.com/Newsgroups/microsoft.public.inetserver.iis.security/2006-03/msg00141.html