2

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

尽量首选Windows集成安全

因此,在我的新 wcf Web 服务中,我有以下连接字符串(直接取自成功使用的 Web 应用程序):

<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"/>

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

例外:基础提供程序在打开时失败。

InnerException:用户 'DOMAIN\D10604B77177C$' 登录失败。

表示域/计算机名登录失败。这是否意味着运行web服务的机器需要添加到数据库的权限?我目前使用已添加到数据库中的帐户登录到所述机器上的 AD。帐户为“DOMAIN\ANEL5”。

4

1 回答 1

2

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

于 2014-08-18T12:15:38.380 回答