我在Visual Studio项目中有一个Web部署发布配置文件。我有多个环境,一个环境我使用ntlm提供商,另一个我用户谈判:kerberos提供商在Windows身份验证模式下。
我的问题是:如何设置parameters.xml"匹配"值,以便在使用msdeploy时设置正确的提供商。
提供商标签如下:
<add value="NTLM" />
或:
<add value="Negotiate:Kerberos" />
甚至可以仅将其拉到via 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
。
这样,我设法替换了值。当前,放置多个提供商是有问题的,但是我认为可以通过稍微更改匹配器和参数来完成。