为什么IIS在涉及<;时会忽略web.config;身份验证模式=";“窗口”/>;?

为什么IIS在涉及<;时会忽略web.config;身份验证模式=";“窗口”/>;?,iis,authentication,Iis,Authentication,我正在使用IIS并尝试部署需要身份验证模式=“Windows”的web应用程序 然而,在我尝试的每台机器上,简单地部署web应用程序是不起作用的。web.config说 <authentication mode="Windows"> 因此,我保存了web.config的备份,然后使用IIS启用windows身份验证。完成此操作后,我的应用程序运行良好,但web.config文件保持不变 我必须为每个客户端自动创建此web应用程序的新实例。要求IT人员手动访问每个Web应用程序并启用

我正在使用IIS并尝试部署需要身份验证模式=“Windows”的web应用程序

然而,在我尝试的每台机器上,简单地部署web应用程序是不起作用的。web.config说

<authentication mode="Windows">
因此,我保存了web.config的备份,然后使用IIS启用windows身份验证。完成此操作后,我的应用程序运行良好,但web.config文件保持不变

我必须为每个客户端自动创建此web应用程序的新实例。要求IT人员手动访问每个Web应用程序并启用此功能是不可能的。我需要web.config文件才能工作,或者我需要知道我必须更改哪个配置文件才能使其工作。我花了好几天的时间试图把它整理好,但都没有成功


非常感谢您的帮助。

我想您是在根据某些windows用户帐户验证用户身份?我还假设您希望浏览器弹出用户名和密码挑战

这里有两件不同的事情在起作用

web.config
中的
设置只是告诉ASP.NET基于IIS提供的凭据而不是表单身份验证(或其他提供程序)来构造身份。它不是由IIS控制的设置,IIS对此设置没有可见性。在
web.config
中更改此设置也不会更改IIS的身份验证设置

在IIS MMC中更改Windows身份验证设置时,您正在更改IIS6元数据库中的设置,或者如果您正在使用IIS7的
system.webServer/security/Authentication
部分(在
web.config
中,或者可能在
applicationHost.config
中,具体取决于更改设置的方式)

所以除非你(你知道这个):

  • 在IIS MMC中删除站点的匿名身份验证,或删除站点文件和文件夹上匿名帐户的NTFS权限

  • 在IIS MMC中指定Windows身份验证


无论
system.web/authentication

中的设置如何,您都不会在浏览器中获得用户名和密码挑战。您可以更具体一点吗?IIS6,IIS7?这非常有用。我最需要的就是关键字“applicationHost.config”。给子孙后代的一些其他评论:从这个链接中,我能够找到关于如何配置我认为应该在web.config中的东西的信息:然而,一开始我似乎没有任何配置文件,因为我使用TotalCommander。显然,您需要具有管理员权限才能查看目录,并且只有在使用64位程序(如果在64位框中)查看文件时,您才能看到这些文件。谢谢!我觉得奇怪的是,您可以在IIS管理器GUI中启用Windows身份验证并要求特定的Windows组(ASP.Net授权规则),但GUI中似乎没有设置web.config身份验证模式?如果我在这里错了,请有人纠正我。@Tom先生,你是指
system.web
还是
system.webServer
?如果您的意思是
system.web
,那么是的,正确,似乎是一个疏忽,但即使如此,也不是所有IIS特定的配置设置都有IIS MMC配置应用程序,并且有些设置没有显示所有配置选项。也就是说,您可以使用IIS管理包中提供的通用配置编辑器配置这些隐藏的功能/选项:@Kev yes我是说system.web-奇怪的是,IIS 6中的ASP.Net GUI配置工具允许更改身份验证模式,但是从IIS7开始,GUI工具中似乎已经没有了它。我一定会查看配置编辑器-谢谢你的提示。
Windows Authentication Disabled