System.Data.SqlClient.SqlException:用户XXX登录失败

时间:2014-01-17 07:45:49

标签: asp.net-mvc-4 c#-4.0 web-config

我正在IIS 7.5上部署一个Web应用程序,该Web应用程序有三种自行车供用户选择(Mountain Bikes,Road Bikes和Touring Bikes)。当我点击它时,我遇到了问题

  

System.Data.SqlClient.SqlException:用户XXX登录失败

这是我的连接字符串

<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-AdventureCycle-20140110145435;Integrated Security=SSPI" />
<add name="AdvenBikesEntities" connectionString="metadata=res://*/Models.BikesDB.csdl|res://*/Models.BikesDB.ssdl|res://*/Models.BikesDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\AdventureWorks2012_Data.mdf;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework;User Instance=True&quot;" providerName="System.Data.EntityClient" />
<add name="AdventureBikesDataEntities" connectionString="metadata=res://*/Models.CategoriesBikesDB.csdl|res://*/Models.CategoriesBikesDB.ssdl|res://*/Models.CategoriesBikesDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\AdventureWorks2012_Data.mdf;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework;User Instance=True&quot;" providerName="System.Data.EntityClient" />
<add name="AdventureBikeDataEntities" connectionString="metadata=res://*/Models.AdventureBikeDB.csdl|res://*/Models.AdventureBikeDB.ssdl|res://*/Models.AdventureBikeDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\AdventureWorks2012_Data.mdf;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework;User Instance=True&quot;" providerName="System.Data.EntityClient" />
<add name="AdventureBikesDBEntities" connectionString="metadata=res://*/Models.AdventureBikesEntities.csdl|res://*/Models.AdventureBikesEntities.ssdl|res://*/Models.AdventureBikesEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\AdventureWorks2012_Data.mdf;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework;User Instance=True&quot;" providerName="System.Data.EntityClient" />
<add name="AdventureBikeDBEntities" connectionString="metadata=res://*/Models.AdventureBikeDB.csdl|res://*/Models.AdventureBikeDB.ssdl|res://*/Models.AdventureBikeDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=TRUNGGEORGE-PC\MSSQLSERVER2012;initial catalog=AdventureWorks2012;Integrated Security=True;User ID=trung;Password=tuoi312;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

你可以帮我解决这个问题吗?非常感谢你的时间:))

1 个答案:

答案 0 :(得分:0)

正如Greg所提到的,Integrated Security = SSPI意味着它使用为IIS中的匿名用户设置的Windows帐户。要纠正问题,您需要做以下三件事之一:

1)将工作进程使用的用户添加到SQL数据库并分配适当的权限。

2)更改连接字符串以使用预定义的用户名和密码。使用http://connectionstrings.com了解如何更改此内容。

3)更改匿名身份验证凭据或工作进程使用的凭据。

如果您需要帮助完成1或3,请告诉我们,并且有人可以引导您完成它。