加密连接字符串IIS 7

时间:2017-06-23 15:35:37

标签: encryption tfs web-config connection-string tfs2017

我使用TFS 2017 Realese定义来部署我的网站,我的密码和用户名环境变量是隐藏的,但是当传递连接字符串时,Web.config文件显示密码和用户名如何加密web.config中的连接sct​​ring文件?

4 个答案:

答案 0 :(得分:1)

您可以在命令提示符(cmd.exe)中运行此命令:

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pe "connectionStrings" -app "/SampleApplication"

其中SampleApplication是IIS中应用程序的名称 有关详细信息,请参阅this article

答案 1 :(得分:1)

<强>更新

要加密web.config文件中的连接字符串,TFS构建任务无法执行此操作。它与IIS更相关。建议你看看这个博客:Encrypting connectionStrings in Web.Config using the NetFrameworkConfigurationKey in an IIS Web Farm scenario

您可以尝试在VSTS发布期间通过Replace Token task替换web.config中的特定值。截图示例:

enter image description here

  

对于Replace Token任务的这种配置,它可以替换#{con}#   到con变量值(在中创建一个变量(变量名:con))   所有.config文件的构建定义的变量选项卡(有#{con}#   代码)在$(System.DefaultWorkingDirectory)位置。

<connectionStrings>
    <add name="DefaultConnection" connectionString="#{con}#" providerName="System.Data.SqlClient" />
  </connectionStrings>

答案 2 :(得分:1)

我使用@Arman答案工作但不得不稍微修改它,我必须默认指定站点号码1这是一个不同的网站检查此链接如何查找您的网站号码。 link

%%windir%%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pe "connectionStrings" -app "/" -site "2"

在我的情况下,该站点是编号2.此外,您必须以管理员身份运行命令提示符。

感谢您的所有答案。

答案 3 :(得分:0)

enter image description here,您必须浏览aspnet_regiis,然后使用pef和pdf命令以及部分名称和webconfig文件的路径来执行命令。