如何在git存储库上保持ASP.net连接字符串密码安全?

KEL*_*ELF 10 c# asp.net git continuous-integration

到目前为止,我一直在使用gitignore来忽略我的web.congfig和web.release.config文件,这样我的连接字符串(包括密码)就不会存储在git存储库中.

对于在加密的可移动媒体上传递的web.config的更改,这很好.

但我刚刚开始考虑使用持续集成并将我的代码存储在Visual Studio Team Services上.为了使其工作(除非您可以建议修复),我必须将web.config作为项目的一部分包含在内.

我在Windows服务器(内部)上使用MSSQL DB和与不同服务器上的Oracle DB的连接来托管应用程序.

到目前为止,我不是最先进的开发者,而是拥有自己的开发者.所有支持都非常欢迎.

Bhu*_*tha 7

您可以通过将连接字符串详细信息移动到外部配置文件来实现。假设您将连接字符串移动到connections.config文件

<connectionStrings>  
  <add name="Name"   
   providerName="System.Data.ProviderName"   
   connectionString="Valid Connection String;" />  
</connectionStrings> 
Run Code Online (Sandbox Code Playgroud)

现在在Web配置中,您可以引用该文件作为连接字符串,如下所示:

<?xml version='1.0' encoding='utf-8'?>  
<configuration>  
    <connectionStrings configSource="connections.config"/>  
</configuration>   
Run Code Online (Sandbox Code Playgroud)

有关外部配置文件的更多详细信息

之后,您可以在gitignore文件中列出您的connections.config 文件

然后推送到您的git repo。

但是,请确保您的自述文件包含必要的设置,以使您的应用程序适用于其他开发人员。将连接详细信息移至另一个文件后,其他人可能对该方法不熟悉,并可能导致某些问题。