Visual Studio - 部署/源代码控制/源代码共享的用户名/密码管理

4
我希望有一种简化的方法来在本地运行(工作在多台机器上),部署和提交到版本控制,其中包含敏感信息(包括密码、用户名、端口、主机名、数据库名称)自动缺失(或删除),并根据正在发生的情况导入?这些敏感数据按重要性顺序列出,因此密码解决方案很好,但链条越长越好。另一个好处是,对于其他人可以通过填写虚拟文件的缺失部分,在自己的机器上尝试该项目的虚拟样本文件。
我有哪些选项可供遵循以实现此功能?我考虑将相关设置添加到local machine.config中,但是这样信息将保存到机器文件而不是加密存储在我的用户文档文件中。此外,这也不适合新手程序员使用本地虚拟文件进行插入和播放。
我认为最清洁的解决方案是在项目根目录中添加一个本地.config文件,该文件不会被添加到版本控制中。
如果有一种方式以这样的方式加密它,即服务器机器是唯一具有解密文件密钥的机器(而不是项目能够执行此操作),那将部署是非常好的。然后,我可以将数据存储在源代码控制中,与其他对该项目感兴趣的人共享源代码,而不会让他们获取制造破坏性更改或查看私人信息所需的实际信息。
1个回答

0

我们使用多个 .config 文件:一个用于开发,一个用于集成,一个用于 QA,一个用于预生产和一个用于生产。每个文件都带有后缀标签(例如:.prod)。

这些文件包含软件连接到数据库和服务器所需的所有内容,除了生产 .config 文件外,其中连接字符串、用户和密码已被替换为占位符。

当我们向生产团队提供软件的新版本时,我们会提供一个最新的但“中性”的 .config 文件。然后,生产团队会添加缺失的信息。

我认为加密文件(或信息)不是解决方案:您将面临一个新问题:如何隐藏用于加密的密钥...

(注意:我们使用转换来为每个环境生成正确的 .config 文件。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接