我们在我们的临时服务器上为我们的客户设置了Windows身份验证,以帮助阻止Google对我们的暂存网址编制索引。我们最近发现我们的某个网站似乎忽略了我们的IIS设置(禁用了匿名身份验证,启用了Windows身份验证)。我们最终发现删除模块节点上的设置runAllManagedModulesForAllRequests =“true”(这是我们在网站上重写URL所必需的)修复了问题,并且当我们浏览到该站点时,Windows登录/密码框按预期显示。如果我们在那里保留设置,该网站允许任何匿名用户浏览网站。
如何在保持runAllManagedModulesForAllRequests设置为true的同时关闭匿名身份验证?
编辑:我们意识到我们有其他网站已启用此设置,并且Windows身份验证工作正常。这似乎只发生在我们的ASPDotNetStorefront网站上。我现在想知道在哪里检查是什么导致了这个问题 - 我的猜测是某种自定义身份验证模块,但我没有足够的知识来确定从哪里开始调试。答案 0 :(得分:2)
我们发现通过将托管管道模式设置为Classic,它显然会忽略web.config中的system.webServer节点,因此我们现在可以获得我们期望的Windows登录提示。有些重写不太可能,但幸运的是我们并不关心我们的登台服务器上的这些特殊重写,所以我们没关系。