1

我已经在 MVC4 中开发了我的应用程序并且运行良好。但是在我托管的服务器中,它失败了。我将我的代码移到服务器上,我添加了 edmx 文件和 sql 连接,并且能够从 VS 运行它。我从那里发布它并将它托管在 IIS 中,我收到一个错误

“System.Data.SqlClient.SqlException:用户 'SEIU-ULTCW\ULTCAPP01$' 登录失败。”

我正在使用带有 Windows 身份验证的 SQL Server 2008 r2 我正在使用的连接字符串是

 <add name="CMSEntities" connectionString="metadata=res://*/Model.CMS.csdl|res://*/Model.CMS.ssdl|res://*/Model.CMS.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=LTCSQL;initial catalog=CMS;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

它是我将 EDMX 文件添加到应用程序时自动生成的。服务器的两种用途 1.Administrator 域 ULTCAPP01 2.user1 域 SEIU-ULTCW。user1 具有管理权限。

在 IIS 中也启用了 Windows 身份验证。任何帮助表示赞赏.. 谢谢。

4

1 回答 1

1

我建议你读读这个

集成安全性和 SQL Server

我提请你注意靠近顶部的这句话

要使用 Windows 集成身份验证连接到 SQL Server,您必须确定运行 ASP.NET 应用程序的 Windows 身份。您还必须确保该身份已被授予访问 SQL Server 数据库的权限。

因此,基本上,如果您的网站运行的帐户对您的 SQL Server 数据库没有任何权限,那么这将产生您遇到的错误。

从错误消息来看,该帐户正在SEIU-ULTCW\ULTCAPP01$检查您的 SQL Server 和应用程序数据库中授予此帐户的权限。

也只是为了清楚起见,当您从 Visual Studio 中运行项目时,它将使用您的 Windows 帐户凭据,我猜它可以访问 SQL Server - 因此它为什么有效。

于 2013-05-24T07:45:47.117 回答