使用Windows身份验证和特定账户连接到SQL Server

8

我有一个ASP.Net应用程序,使用Windows身份验证运行。通常通过创建SQL Server帐户并在连接字符串中使用该帐户来连接到SQL Server。

但是,在这种非常受限制的托管环境中,我们被要求使用特定的WINDOWS/Active Directory帐户来连接SQL Server。

请注意,我们需要连接到SQL服务器的不是网站用户的Windows凭据,而是一个特定的Windows/AD帐户。

我如何在连接字符串中配置它?

3个回答

14

使用以下连接字符串:

Server=YourServer; Database=YourDatabase; Integrated Security=true;

您的程序必须在您需要连接的帐户下运行。您可以通过编辑应用程序池来设置IIS中您网站的标识。


但是该网站使用Windows身份验证,因此应用程序将作为连接到它的用户运行。也许我们需要先进行Windows身份验证,然后模拟这个特定的用户... - Kjensen
2
@Kjensen,你可以使用Windows身份验证而无需模拟,这样就可以了。 - Klaus Byskov Pedersen

1
使用Runas选项以特定的Windows用户身份启动程序。该程序将使用此用户连接到SQL服务器。

0

如果您想要实现这个功能,您需要:

  • 为该 Windows 用户定义一个 SQL Server 登录
  • 授权该 SQL Server 登录访问您的数据库
  • 定义连接字符串以使用该 SQL Server 登录(+密码),以便使用特定用户进行连接

您的连接字符串将类似于:

Server=dbServer;database=theData;User ID=loginname;password=Top$ecret

如果您告诉SQL Server使用集成安全性,它将始终使用当前登录的用户作为连接到服务器的用户 - 您无法更改该设置。

这通常是我的做法。然而,对于这个托管提供商,他们要求我们使用特定的Windows帐户连接到SQL服务器。 - Kjensen
@Kjensen:这是唯一的方法 - 如果您需要使用与应用程序运行的Windows帐户不同的帐户,则必须创建SQL登录 - 没有其他方法。 - marc_s

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接