集成安全如何工作

时间:2014-08-18 11:51:02

标签: entity-framework wcf sql-server-2012 connection-string integrated-security

最近我的公司发布了一个新的SQL标准文档。在这个新的标准文件中,我发现了以下内容:

  

尽可能使用Windows集成安全性

因此,我的新wcf Web服务我有以下连接字符串(直接从成功使用的web-app中获取):

<add name="ProcurementAdministrationPortalEntities"
     connectionString="metadata=res://*/ProcurementAdministrationPortalModel.csdl|res://*/ProcurementAdministrationPortalModel.ssdl|res://*/ProcurementAdministrationPortalModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=database-server;initial catalog=ProcurementAdministrationPortal_v2;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"
     providerName="System.Data.EntityClient"/>

现在,在尝试使用该服务时,我收到以下错误:

  

异常:基础提供程序在Open上失败。

     

InnerException:用户登录失败&#39; DOMAIN \ D10604B77177C $&#39;。

它说域名/计算机名称登录失败。这是否意味着运行Web服务的机器需要添加到数据库的权限中?我目前在所述计算机上登录AD,并在数据库中添加了一个帐户。该帐户为&#39; DOMAIN \ ANEL5&#39;。

1 个答案:

答案 0 :(得分:2)

当计算机名称作为用户标识传递时,通常意味着您的应用程序池作为系统运行。使用Integrated Security = true,它会尝试使用计算机对象ID登录。更改应用程序池以使用域用户ID(我们只有服务帐户的OU)并为该域ID提供所需的SQL权限。