最近,我的公司发布了一个新的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="data source=database-server;initial catalog=ProcurementAdministrationPortal_v2;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient"/>现在,当尝试使用该服务时,我得到以下错误:
异常:基础提供程序在打开时失败。 InnerException:登录失败的用户‘域\D10604B77177C$’。
它是说登录失败的域名/计算机名称。这是否意味着运行web服务的机器需要添加到数据库的权限中?我目前已登录到上述计算机上的AD中,并在数据库中添加了一个帐户。帐户是‘域\ANEL5 5’。
发布于 2014-08-18 12:15:38
当将计算机名称作为用户ID传递时,通常意味着应用程序池作为系统运行。使用Integrated = true,它尝试使用计算机对象ID登录。更改应用程序池以使用域用户ID (我们只有一个OU用于服务帐户),并授予该域ID所需的SQL权限。
https://stackoverflow.com/questions/25362665
复制相似问题