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 稍微改变一下来完成。
我的 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 稍微改变一下来完成。