如何通过web.config更改IIS的内部配置?

如何通过web.config更改IIS的内部配置?

我想将 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 文件中的配置,您需要将想要更改的所有功能的委派设置为“读/写”。

相关内容