asp.net – runAllManagedModulesForAllRequests =“true”在IIS7中查杀Windows身份验证

我们在我们的临时服务器上为我们的客户设置了
Windows身份验证,以帮助阻止Google对我们的暂存网址编制索引.我们最近发现我们的某个网站似乎忽略了我们的IIS设置(禁用了匿名身份验证,启用了Windows身份验证).我们最终发现删除模块节点上的设置runAllManagedModulesForAllRequests =“true”(这是我们在网站上重写URL所必需的)修复了问题,并且当我们浏览到该站点时,Windows登录/密码框按预期显示.如果我们在那里保留设置,该站点允许任何匿名用户浏览网站.

如何在保持runAllManagedModulesForAllRequests设置为true的同时关闭匿名身份验证?

编辑:我们意识到我们有其他网站,其中此设置已启用,Windows身份验证工作正常.这似乎只发生在我们的ASPDotNetStorefront网站上.我现在想知道我应该在哪里检查是什么导致了这个问题 – 我的猜测是某种自定义身份验证模块,但我没有足够的知识来确定从哪里开始调试这个.

最佳答案 我们发现通过将托管管道模式设置为Classic,它显然会忽略web.config中的system.webServer节点,因此我们现在可以获得我们期望的Windows登录提示.有些重写不太可能,但幸运的是我们并不关心我们的登台服务器上的这些特殊重写,所以我们没关系.

点赞