用户 ‘IIS APPPOOL\xxxx’ 登录失败
一、现象
发布到iis后,网站出现以下提示异常详细信息: System.Data.SqlClient.SqlException: 用户
‘IIS APPPOOL\IdealTest’
登录失败。
二、分析原因
1.查看项目web.config文件中的数据库连接字符串:Integrated Security=True;
这里设置了integrated security=True ,集成安全模式为真。在这种情况下要求网站程序池账号与sqlserver运行使用的账号一致。
2.打开iis,查看应用程序池,使用了集成验证模式,其标识为ApplicationPoolIdentity,导致了连接数据库出错
三、解决方法
1.修改SQLServer的连接字符串,使用数据库帐号密码登录
server=localhost;uid=sa;pwd=xxxx;database=master;
2.IIS管理器=>应用程序池=>网站对应的程序池=>高级设置—》标识—》将进程模型下的 ApplicationPoolIdentity 改为 localSystem
使用SqlServer验证方式
<add name="CodeFirstModelEntities" connectionString="metadata=res://*/CodeFirstDB.csdl|res://*/CodeFirstDB.ssdl|res://*/CodeFirstDB.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=CodeFirstModel;uid=sa;pwd=123456;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />