在源代码管理中将不需要的密码存储在何处

时间:2018-09-03 13:47:06

标签: c# git passwords

目前我正在调试

#if Debug
   new NetworkCredential("myUsername","myPassword", "myDomain");
#endif

一个好的解决方案是将密码存储在文件中,然后读取值(仅在调试时)。然后将该文件添加到.gitignore?

Production永远不会读取此值,因为它是从登录用户的RestSharp的NtlmAuthenticator获取它的。

1 个答案:

答案 0 :(得分:4)

好的做法是将其保存在您添加到.gitignore

的秘密配置文件中

您可以使用file中的appSettings属性来完成此操作,例如:

<appSettings file="..\..\AppSettingsSecrets.config">
    <!-- whatever keys that are kept on source control -->
</appSettings>

AppSettingsSecrets.config

<appSettings>   
    <!-- SendGrid-->
    <add key="mailAccount" value="My mail account." />
    <add key="mailPassword" value="My mail password." />
    <!-- Twilio-->
    <add key="TwilioSid" value="My Twilio SID." />
    <add key="TwilioToken" value="My Twilio Token." />
    <add key="TwilioFromPhone" value="+12065551234" />

    <add key="GoogClientID" value="1.apps.googleusercontent.com" />
    <add key="GoogClientSecret" value="My Google client secret." />
</appSettings>