我应该在生产环境中使用“Integrated Security = True”吗?

时间:2010-10-18 11:15:53

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

在ASP.NET中的生产服务器上使用Integrated Security=True是不是很糟糕?

3 个答案:

答案 0 :(得分:8)

不 - 完全安全*

您所做的就是说您将使用(通常)运行该进程的Windows用户的凭据,以便通过SQL Server进行身份验证(而不是提供用户名和密码)。

事实上,通常使用集成安全性被认为更安全。

(*)当然,它总是取决于你的具体情况,但在一般情况下是的,它很好。

答案 1 :(得分:1)

这可能是好事还是坏事,具体取决于IIS用于运行Web应用程序的帐户。

在任何情况下,都有一个明显的优势,即SQL用户标识和密码不会出现在连接字符串中;总是一件好事。

但是,您需要仔细设置生产环境。我建议您为IIS创建一个用于运行Web应用程序的独特用户帐户。该用户帐户可以配置为只能访问应用程序所需的SQL资源。如果您的Web应用程序的安全性受到威胁,这将保护您免受其他应用程序轻易泄露。

我听说程序员在做杂技,其中一个带有用户ID和密码的SQL连接字符串在运行时从加密资源加载: - )

答案 2 :(得分:1)

回答标题问题:
当您遇到这样的疑问或怀疑时,不应该触摸(少用)生产环境中的任何东西!

回答身体问题:
不应为SQL Server身份验证启用生产中的SQL Server

更新:
我很惊讶地看到所有答案都使用概率“这取决于”,“在某些情况下”,“更多”的可能性。