Web 部署发布 parameters.xml 以匹配 windows 身份验证提供程序

Web Deployment Publish parameters.xml to match windows authentication providers

我的 visual studio 项目中有一个 Web 部署发布配置文件。 我有多个环境,在一个环境中,我使用 NTLM 提供程序,在另一个环境中,我在 windows 身份验证模式下使用 Negotiate:Kerberos 提供程序。

我的问题是:如何设置 parameters.xml "match" 值以便在使用 msdeploy 时设置正确的提供程序。

提供商标签如下:

<add value="NTLM" />

或者:

<add value="Negotiate:Kerberos" />

是否可以仅通过 parameters.xml 拉取这个? 如果不是,正确的做法是什么?

找到解决方法。

在 parameters.xml 我创建了一个 <parameter> 元素,其中包含以下内容:

<parameterEntry kind="XmlFile" scope="\web\.config$" match="/configuration/system.webServer/security/authentication/windowsAuthentication/providers/add/@value" />

parameterEntry 将匹配供应商。

之后,在部署时,将替换 parameterEntry 中匹配值的值将是:Negotiate:Kerberos.

就这样,我成功地替换了值。目前放置多个提供者有点问题,但我认为它可以通过匹配器和 parameters.xml 稍微改变一下来完成。