我在IIS6中有一个.net网络应用程序托管,Windows身份验证和匿名访问被禁用。 Web应用程序正在连接到位于同一域中但位于不同计算机上的SQL Server。
我希望IIS工作进程帐户I_USR _...被授予对SQL Server的访问权限。
这会有用吗?
(是否存在一对一的信任?或者我应该做出一些额外的努力来使信任工作?)
(编辑) 在这page我读到了:
IUSR_必须在域中,并且可以正确访问SQL Server;或者,您必须禁用站点/应用程序上的匿名访问 - 这将允许IIS将用户的凭据传递给SQL Server。不做这两件事都会导致错误。
答案 0 :(得分:2)
如果您提供对应用程序池标识的SQL访问,则此方法可以正常工作。
即使模拟,也无法将用户的凭据传递给SQL。
答案 1 :(得分:1)
通过允许SQL Server框上的域帐户访问权限或创建SQL Server帐户并使用它来查询数据库,您应该没问题。
有关连接字符串和可信连接的详细信息,请访问:http://www.connectionstrings.com/sql-server-2008
答案 2 :(得分:0)
最好设置一个特定于您的连接的SQL用户帐户或域帐户。 拥有相同的帐户有助于连接池: http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx
答案 3 :(得分:0)
要使其生效,必须配置Active Directory以在Web服务器和数据库服务器之间建立信任。这称为委托。这是您必须为每个服务器主动配置的内容,因为允许进程获取某人的凭据并在整个网络中使用它本质上是不安全的。
更多信息:
http://msdn.microsoft.com/en-us/library/ff647404.aspx
稍微可读的版本: