如何在C#中管理数据库的连接字符串和凭据?

时间:2011-06-18 03:11:57

标签: c# sql-server-2008 iis-7 .net-4.0

在.NET 4 / IIS 7环境中管理数据库连接字符串/凭据的正确方法是什么?我有一个简单的开发生命周期,DEV - >测试 - > PROD。我的本地机器上有一个sqlexpress数据库用于DEV,一个用于TEST的SQL Server 2008副本和另一个用于PROD的Sql Server 2008安装。

我不想使用集成安全性。此外,我更愿意不在我的web.config文件中部署我的凭据或连接字符串。什么是以安全可靠的方式简化部署过程的解决方案?

3 个答案:

答案 0 :(得分:1)

您可以做的一件事是使用凭据加密连接字符串并将其存储在服务器上的中央web.config文件中,这样您在部署时就不必担心它。然后在本地,在测试和生产时,连接字符串在部署应用程序时可用,但在标准部署过程之外处理。当然,您希望在每个位置使用相同的连接字符串名称,以最大限度地减少环境之间的配置差异。我之前使用过这个过程并且效果很好。

答案 1 :(得分:1)

看看here

在ASP.NET 2.0中,它提供了一项称为受保护配置的功能,使您可以加密配置文件中的敏感信息。虽然主要是为ASP.NET设计的,但受保护的配置也可用于加密Windows应用程序中的配置文件部分。有关新保护配置功能的详细说明,请参阅Encrypting Configuration Information Using Protected Configuration

答案 2 :(得分:0)

请查看此问题的答案

Using different Web.config in development and production environment

到目前为止,我一直在将所有appsettings分成不同的文件,每个环境一个

此外,您绝对应该加密连接字符串。