在MVC2 .NET 4.0的应用程序的ConnectionString加密(Connections

2019-09-27 04:54发布

我有一个MVC2 .NET 4.0的应用程序,托管于2008年TFS(很快将成为2010 TFS)使用的连接字符串在web.config连接到另一台服务器上的数据库。 我需要加密这些连接字符串。

据我了解,我可以使用aspnet_regiis.exe到的ConnectionString部分加密web.config文件, 但我有 ,因为加密使用计算机名称以生成加密密钥做部署的机器上

现在,在我看来,这代表一个问题 - 每当我部署我的代码来开发服务器不会它覆盖web.config文件,并需要时间来被重新加密的? 这种类型的手动过程似乎缺憾。

  1. 部署正确后,我约需要认识到重新加密?

  2. 如果是这样,有一些方法来自动完成这一过程? 我不想忘记这或得到一个新的团队成员谁不知道的进程,并接触到全世界的ConnectionString。

Answer 1:

web.config文件中通常不部署的一部分(虽然Visual Studio 2010的支持配置文件转换在Web应用程序部署的项目)。 我不会期望,当你部署(因为web.config文件是您将放置那些特定于该机器/环境的事情,你应该覆盖的web.config。

所以,一旦加密,然后不要覆盖它,将是我的建议。

由于这是不是在你的情况下可用,就可以进行加密时指定一个键,这样就可以共享机器之间的加密文件。 默认情况下,加密命令使用DPAPI加密部分(这是联系在一起的机器),但你也可以使用RSA加密。 更多信息请参阅MSDN上的指定保护的配置提供 。



文章来源: Connectionstring Encryption in MVC2 .NET 4.0 app