asp.net - 从 ASP.Net 应用程序创建新数据库的推荐方法

标签 asp.net security connection-string

我们的 ASP.Net 应用程序使用 SQL Server 2008。大多数时候,应用程序使用访问权限非常有限的 SQL 帐户连接到 SQL Server。

但是,有时我们需要能够动态创建一个新数据库。因此,我们需要提升权限,并且我对将此连接字符串存储在 Web.config 中感到有点紧张,因为 Web.config 可能位于 DMZ 中。

我们正在考虑编写一个在 SQL Server 计算机(即不在 DMZ 中)上运行的 Windows 服务,该服务将监视表中创建新数据库的请求,但这似乎有点矫枉过正。

有什么替代方案或推荐做法的建议吗?

最佳答案

您可以将连接字符串存储在注册表中,并通过限制对指定注册表项的访问来保护它。这是我在 .Net 1.1 中遇到的想法之一,作为 Microsoft 的推荐。这个概念在 2.0 及更高版本中仍然是相同的。这是文档的链接。

http://msdn.microsoft.com/en-us/library/aa302406.aspx

听起来您已经担心安全性了,所以我猜您已经通读或至少浏览过 MSDN 库的“构建安全的 ASP.Net 应用程序”部分。上面的链接位于该指南的操作方法部分。希望这对您有所帮助。

此外,如果您确实将连接信息存储在 web.config 中,请至少对这些部分进行加密。

我刚刚遇到了这个。可能更像您正在寻找的东西。

http://msdn.microsoft.com/en-us/library/aa302388.aspx#secnetch08_storingsecrets

关于asp.net - 从 ASP.Net 应用程序创建新数据库的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1197888/

相关文章:

c# - 我们什么时候使用 HashSet<>

c# - 在数据层中获取Azure连接字符串

c# - 更改 WebJobs 连接字符串 AzureWebJobsStorage 和 AzureWebJobsDashboard 的默认名称

c# - Asp.net mvc Razor 将文本文件中的值填充到文本区域

c# - 在运行时替换 href 值

javascript - 免费 JavaScript 工具栏菜单

java - 安全异常 : BC provider not installed

iframe - 如何防止 Iframe 被黑客攻击

security - 编辑和贡献者在“内容”选项卡中剪切和粘贴需要哪些额外权限?

mysql - 无法使用 Crystal Reports 连接到本地 MySQL 数据库