集成安全性如何工作
Posted
技术标签:
【中文标题】集成安全性如何工作【英文标题】:How does integrated security work 【发布时间】:2014-08-18 11:51:02 【问题描述】:最近我的公司发布了一个新的 SQL 标准文档。在这个新的标准文档中,我发现了以下行:
尽可能首选Windows集成安全
因此,我的新 wcf 网络服务有以下连接字符串(直接取自成功使用的网络应用程序):
<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:用户“DOMAIN\D10604B77177C$”登录失败。
表示域/计算机名登录失败。这是否意味着运行web服务的机器需要添加到数据库的权限?我目前使用已添加到数据库中的帐户登录到所述机器上的 AD。帐户为“DOMAIN\ANEL5”。
【问题讨论】:
不是机器,而是账户或组,是的。 【参考方案1】:当机器名称作为用户 ID 传递时,通常意味着您的应用程序池正在作为系统运行。如果 Integrated Security = true,它会尝试使用计算机对象 ID 登录。更改应用程序池以使用域用户 ID(我们有一个仅用于服务帐户的 OU)并为该域 ID 提供所需的 SQL 权限。
【讨论】:
以上是关于集成安全性如何工作的主要内容,如果未能解决你的问题,请参考以下文章
使集成的安全性和 CORS 与 Asp.Net、Angular 6 和 IIS 一起工作
SpringBoot集成SpringSecurity(一初体验)