c# - 在 IIS 中使用带有连接字符串的 Windows 身份验证连接到 SQL 2008 R2

标签 c# iis-7 connection-string

我正在 IIS7 上使用 MVC4 制作模型优先网站。

目前我的连接字符串是这样的:

<add name="VaultEntities"  
    connectionString="metadata=res://*/Models.VaultDB.csdl|res://*/Models.VaultDB.ssdl|res://*/Models.VaultDB.msl;provider=System.Data.SqlClient;
         provider connection string=&quot;
         data source=sqlserver\instance;
         initial catalog=vault;
         integrated security=True;
         multipleactiveresultsets=True;
         App=EntityFramework&quot;" 
         providerName="System.Data.EntityClient" />

当我通过“模型优先”方法添加数据库时,连接由 Visual Studio 2011 自动生成。该查询在我的开发机器上本地运行完美。但它在 IIS 服务器上不起作用。

我的猜测是,这是因为我在开发机器上的用户帐户可以访问 SQL 服务器,而当 IIS 尝试访问 SQL 服务器时,其用户帐户被拒绝。

在理想情况下,我会在 SQL 服务器上添加一个用户并使用

User Id=myUsername;Password=myPassword;

在我的连接字符串中,不幸的是我没有那个选项。

不谈细节的话,dba 是......很难......合作。

那么有没有办法在连接字符串中使用我的 AD 帐户登录到 SQL 服务器...或者我可以让 IIS 将自己标识为我吗?

最佳答案

Is there any way to use my AD account in the connection string to login to the SQL server... Or can I make IIS identify itself as me?

您可以让应用程序池使用您想要的任何 AD 用户。

不过我不建议使用您自己的用户名。在过去 12 个月内,您锁定了多少次用户名?当您离开时会发生什么?

创建/使用服务 AD 帐户,将其映射到应用程序池中,并让 DBA 使用受信任的连接向该用户授予数据库访问权限。抱歉,您必须与 DBA 交谈! :-)

关于c# - 在 IIS 中使用带有连接字符串的 Windows 身份验证连接到 SQL 2008 R2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13344968/

相关文章:

iis-7 - 服务不可用 503 + 位于 http ://localhost/ProductsService/Service. svc 的 HTTP 服务太忙

asp.net - ConfigurationManager ConnectionStrings 从哪里获取它的值?

c# - 如何让用户在 C# EF4.1 Code First 中动态指定数据库提供程序和连接详细信息?

c# - 将字符串数据绑定(bind)到文本框

c# - 从任何版本加载程序集

c# - MVVM 数据绑定(bind)

asp.net-mvc - IIS 7 中 ASP.NET MVC 中的静态内容

iis - 经典ASP页冒充NT AUTHORITY\ANONYMOUS LOGON

c# - 嵌套使用是个好主意

c# - 异步方法阻塞未等待的任务