![如何通过web.config更改IIS的内部配置?](https://linux22.com/image/605629/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87web.config%E6%9B%B4%E6%94%B9IIS%E7%9A%84%E5%86%85%E9%83%A8%E9%85%8D%E7%BD%AE%EF%BC%9F.png)
我想将 IIS 上的 Web 服务项目的身份验证模式更改为仅基本身份验证...我使用 VS 2010 和 webDeploy 发送我的 WCF(数据服务)项目,在我的 web.config 中我有:
<location path="Default Web Site/AdcamApi" allowOverride="false">
<system.webServer>
<security>
<authentication>
<basicAuthentication enabled="true" />
<anonymousAuthentication enabled="false" />
</authentication>
</security>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<!-- <add name="AuthenticationModule" type="AdcamApi.AuthenticationModule"/> -->
</modules>
</system.webServer>
</location>
我在 webdeploy 日志中看到:“update setAcl”,所以我认为它很好,但是当我返回到管理器时,身份验证是相同的:
- 匿名:启用
- 基本:禁用
我已经测试了很多东西:allowOverride、不同位置等等,但都没有成功。
笔记 :
当我在 IIS 管理器中直接更改此模式时,我的目录的 web.config 保持不变!
IIS 和项目不在同一台机器上。(通过互联网进行 webdeploy)
答案1
在 IIS 管理器中,在左侧选择您的服务器。在管理部分的底部有一个“功能委派”图标,将其打开。
为了能够覆盖 web.config 文件中的配置,您需要将想要更改的所有功能的委派设置为“读/写”。