0

我正在从以下位置升级 ASP.NET 4.0 应用程序:

Windows Server 2003 和 IIS 6

至:

Windows Server 2008 和 IIS 7.5

此应用程序基于ASP.NET Web 窗体而不是 MVC。我目前使用 SQL 身份验证,但我想在新环境中遵循最佳实践。

IIS 7.5 机器和 SQL Server 2008 机器都将驻留在具有自己的域控制器的 DMZ 中。如果我们可以在 Dev、Test 和 Prod 环境中使用类似的连接字符串,那就太好了。这种情况的最佳做法是什么?我已经阅读了三个选项。

  1. 应用程序池身份
  2. 在域上创建您自己的服务帐户
  3. SQL 身份验证

以下是讨论相关问题的问题的链接,但似乎没有任何问题可以回答我的具体问题。

用户 ASP.NET 运行在

为 ApplicationPoolIdentity 帐户分配权限

4

2 回答 2

1

我推荐使用 AD 帐户来运行应用程序池。然后,可以在 SQL 服务器上为同一帐户创建权限。应用程序使用的 conn 字符串将完全不必包含帐户信息(受信任的连接),您将不必担心与安全相关的一件事。作为额外的预防措施,从所有用户组中删除该 AD 帐户,并且不要将其用于除此一件事(应用程序池)之外的任何其他事情。授予该用户对网站文件的读取权限,并仅对需要写入的文件夹(例如转储日志文件)进行写入权限。

于 2012-01-31T23:07:21.520 回答
0

就最佳实践而言,我认为您列出的 3 个选项中没有一个比另一个更好;如果使用得当,它们都可以安全有效地完成工作。考虑到您的特定环境、公司政策等,您的决定应基于哪些对您有利,但同样,它们都不是坏习惯。

于 2012-01-31T23:07:18.187 回答