0

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

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

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

任何帮助将不胜感激。

谢谢

4

3 回答 3

1

你有几个选择。

  1. 您可以在 SQL Server 和 IIS 应用程序池之间使用基于服务的帐户。这将允许 Windows 无需密码即可处理所有身份验证。堆栈溢出问题
  2. 加密 web.config
  3. 将连接字符串放入代码中。然后,当您创建一个SqlConnection或任何其他类型的数据库连接时,使用重载传递一个连接字符串。但这实际上并不比 web.config 好多少,因为您可以反编译程序集并查看连接字符串。
于 2013-10-18T13:27:49.140 回答
1

您可以存储连接字符串:

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

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

于 2013-10-18T13:28:42.630 回答
0

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

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

你不能在网络配置中加密数据库凭据吗?

于 2013-10-18T13:41:46.127 回答