使用windows身份验证连接到SQL Server

本文关键字:SQL Server 连接 windows 身份验证 使用 | 更新日期: 2023-09-27 18:20:07

简要背景:我正在创建一个web应用程序,需要它从SCOM 2012数据库(SQL Server 2012)中提取数据,该数据库仅设置为Windows身份验证,在可预见的未来不会更改,因为公司不愿意这样做。

问题:我对这个问题进行了广泛的研究,但我找不到解决方案。我需要创建一个到以特定windows用户身份运行的数据库的连接,以拉回到数据。为了说明这一点,我不想使用网络应用程序模拟最终用户。我有我想用于此操作的帐户的凭据,但如果可能的话,我需要一些帮助!

使用windows身份验证连接到SQL Server

必须在具有数据库登录访问权限的windows用户的上下文中进行连接。您无法通过连接字符串执行此操作。

您可以通过将应用程序池标识设置为此特定用户来实现这一点(这是相当标准的做法)。或者,您可以使用一个方法来模拟用户对数据库的调用,尽管这会涉及更多。请参阅如何在.NET中进行模拟?例如。

如果公司在域内,并且运行iis的用户对SQL Server有权限,那么您所要做的就是使用windows身份验证,仅此而已。

退房时间:http://msdn.microsoft.com/en-us/library/2xzyzb0f(v=vs.100).aspx

您可以在您的web应用程序和数据库之间设置web服务,并通过放置在可以访问数据库的帐户下运行您的web服务

<system.web>
    <identity impersonate="true" userName="domain'login" password="pwd" />
    ...
</system.web>

进入web服务的CCD_ 1。

然后你的网络应用程序可以调用网络服务来获取/保存数据。

我知道这是有效的,因为我正在使用一个能做到这一点的应用程序。也许您可以将impersonate放入web应用程序的配置文件中,然后直接访问数据库,但我对此没有任何经验。