IIS启动MVC-EF项目(报错用户 ‘IIS APPPOOL\AutoFacTest‘ 登录失败。)

在这里插入图片描述

用户 ‘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=&quot;data source=.;initial catalog=CodeFirstModel;uid=sa;pwd=123456;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

设置好以后、重新发布、浏览—>成功

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/MrLsss/article/details/109127432
IIS