SQL Server集成身份验证模式

时间:2011-04-26 05:05:22

标签: asp.net sql-server

我想知道何时在Web应用程序的连接字符串中使用Windows身份验证模式。应用程序本身使用Windows身份验证进行授权。将使用哪个帐户登录SQL Server。

是不是网络应用程序池帐户? 使用Windows身份验证登录Web应用程序的用户帐户? 还有其他账户吗?

应用程序在Win Ser 2008 64位和IIS 7下运行。应用程序池帐户是网络服务。

3 个答案:

答案 0 :(得分:6)

这取决于您如何配置它。来自http://msdn.microsoft.com/en-us/library/ms998292.aspxhttp://msdn.microsoft.com/en-us/library/bsz5788z.aspx ...

  

默认情况下,ASP.NET应用程序不会模拟。因此,当他们使用Windows身份验证连接到SQL Server时,他们使用Web应用程序的进程标识。使用此方法,您的前端Web应用程序对其用户进行身份验证和授权,然后使用受信任的身份来访问数据库。数据库信任应用程序的标识,并信任应用程序以正确地验证和授权呼叫者。这种方法称为可信子系统模型。

     

称为模拟/委派模型的替代模型使用原始调用者的Windows标识来访问数据库。此方法要求将ASP.NET应用程序配置为使用模拟。请参阅本文档中的“模拟/委派与可信子系统”部分。

因此,根据您的配置方式,它可以使用应用程序池帐户(不使用模拟时)或使用Web应用程序的登录用户帐户(使用模拟时)。

有关假冒信息,请参阅http://msdn.microsoft.com/en-us/library/134ec8tc.aspx

答案 1 :(得分:0)

如果您在连接字符串中指定了Integrated Security,则应用程序池用户连接到数据库。

答案 2 :(得分:0)

我遇到的问题是我的SQL Server中的应用程序池帐户需要在它工作之前设置为db_owner角色。我花了很长时间试图解决这个问题。

我在同一台计算机上使用Windows身份验证,Windows 7家庭高级版和IIS。我发布这个以防万一其他人遇到类似的问题。我使用的书没有说使用db_owner,而是使用读者和作者帐户。