在.NET中存储数据库连接详细信息的最佳实践是什么?

时间:2009-08-14 10:37:18

标签: c# .net database .net-3.5

这可能是重复的(question),但我正在寻找.NET最佳实践。

如何以安全的方式存储数据库连接字符串,用户名和密码等?在大多数情况下,加密的app.config最好吗?

我还希望能够在配置文件中设置密码,然后在应用程序启动后立即加密。 (我不是要求解决方案,因为我之前已经解决了这个问题,我只是在寻找最佳实践)。

我也对您有丰富经验的替代解决方案感兴趣。

4 个答案:

答案 0 :(得分:7)

我认为最好的做法是尽可能使用集成安全性,原因有两个......这是最容易管理的解决方案,而且这是最容易实现的解决方案。

如果由于某种原因你不能使用集成安全性,你必须使用用户名和密码使用Enterprise Library的配置管理器加密它们来加密你的web.config部分。

答案 1 :(得分:4)

关于保护连接字符串,我们应该了解以下几点: http://msdn.microsoft.com/en-us/library/89211k9b.aspx

在我看来,存储它们的最佳方式(结合灵活性和安全性的方法)是 “使用受保护的配置加密配置文件部分”: http://msdn.microsoft.com/en-us/library/ms254494.aspx

答案 2 :(得分:1)

那将是web.config。如果需要保密,可以加密连接字符串。

答案 3 :(得分:0)

我发现最近有用的东西是微软的单点登录服务。如果需要使用SQL身份验证,则可以将实际凭据存储在加密数据库中。