在web.config中连接到没有连接字符串的MSSQL

时间:2013-10-18 13:24:25

标签: c# asp.net sql sql-server web-config

我有一个.NET应用程序,它托管在Web服务器上,而MSSQL数据库托管在不同的服务器上。

作为安全检查表的一部分,我不应该在我的web.config文件中提及数据库凭据(连接字符串)。 (不在任何文件中)

如何在没有web.config中提到的详细信息的情况下连接到数据库。

任何帮助都将受到高度赞赏。

感谢

3 个答案:

答案 0 :(得分:1)

你有几个选择。

  1. 您可以在SQL Server和IIS应用程序池之间使用基于服务的帐户。这将允许Windows在不需要密码的情况下处理所有身份验证。 Stack Overflow question on this
  2. Encrypt the web.config
  3. 将连接字符串放在代码中。然后,当您创建SqlConnection或任何其他类型的数据库连接时,请使用重载来传入连接字符串。但这实际上并不比web.config好得多,因为您可以反编译程序集并查看连接字符串。

答案 1 :(得分:1)

您可以存储连接字符串:

  • 在您的代码中硬编码
  • 在注册表项中

您应该有一个不包含用户名和密码的连接字符串,而是使用可信连接,它使用应用程序池的标识。

答案 2 :(得分:0)

您可以尝试使用声明性连接字符串

http://asphive.wordpress.com/2013/01/28/connection-strings-without-web-config/

您无法加密Web配置中的数据库凭据吗?