繁体   English   中英

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

[英]Connect to SQL Server with windows authentication

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

问题:我已经在这个问题上进行了广泛的探索,但是我找不到解决方案。 我需要创建一个与以特定Windows用户身份运行的数据库的连接,以拉回数据。 为了清楚起见,我不想假冒最终用户使用Web应用程序。 我拥有我要用于此帐户的凭据,但是如果可能,我需要一些帮助!

必须在具有数据库访问权限的Windows用户的上下文中建立连接。 您不能通过连接字符串来做到这一点。

您可以通过为此特定用户设置应用程序池标识来完成此操作(这是标准做法)。 或者,您可以使用一种方法来模拟用户以进行数据库调用,尽管这涉及到一些问题。 请参阅如何在.NET中进行模拟? 举些例子。

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

检出: http : //msdn.microsoft.com/zh-cn/library/2xzyzb0f(v=vs.100).aspx

您可以在Web应用程序和数据库之间设置Web服务,并通过以下方式在有权访问数据库的帐户下运行Web服务:

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

进入Web服务的web.config

然后,您的Web应用程序可以调用Web服务来获取/保存数据。

我知道这行得通,因为我正在与执行此操作的应用程序一起工作。 也许您可以将impersonate放入Web应用程序的配置文件中并直接访问数据库,但是我对此没有任何经验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM