我正在使用IIS,并试图部署一个需要身份验证模式="Windows"的web应用程序。
然而,在我尝试的每台机器上,简单地部署web应用程序不工作。网络。配置显示
<authentication mode="Windows">
但是在IIS管理器下显示为
Windows Authentication Disabled
所以我保存了我的网页备份。配置,然后我使用IIS启用windows身份验证。在我这样做之后,我的应用程序工作得很好但是web。.
我必须为每个客户端自动创建这个web应用程序的新实例。要求IT人员手动进入每个web应用程序并打开此功能是不可能的。我需要网络。配置文件的工作,或者我需要知道什么配置文件,我必须改变,使其工作。我花了好几天的时间来整理这个,但是没有成功。
我假设您正在对一些windows用户帐户进行身份验证?我还假设您希望浏览器弹出用户名和密码挑战?
这里有两种不同的东西在起作用。
web.config
中的<authentication mode="Windows"/>
设置只是告诉ASP。. NET根据IIS而不是由Forms Authentication(或其他提供程序)提供的凭据构造标识。它不是由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
中的设置如何,您都不会在浏览器中获得用户名和密码挑战。