用户"IIS APPPOOL\xxxxxxxx"登录失败解决方案(转学习)
错误信息:
Server Error in '/' Application. -------------------------------------------------------------------------------- 无法打开登录所请求的数据库 "xxxxxx"。登录失败。 用户 'IIS APPPOOL\xxxxxxxxxxxx 登录失败。
或者这样的错误信息:
异常详细信息: System.Data.SqlClient.SqlException: 用户 'IIS APPPOOL\xxxxxxxx' 登录失败。
在Visual Studio 2010调试模式下,没有问题,配置到IIS就出错.原因是权限问题.
在IIS中默认是不允许window集成登录的,改为帐号密码登录就没有问题了,服务器名最好填写ip地址/实例名这样的格式,以免报错.
1.若应用程序的连接字符串是windows集成登录 ,将其改成用户名密码登录
2.在IIS管理器中——》应用程序池——》ASP.NET V4.0————》高级设置——》标识——》改为localSystem
(按照以上步骤还真测试连通了, static String dbType = "SqlServer"; public static String connectionString = "server=XXXX; database=ERP;user id=sa; password=1234; Integrated Security=True; ";) 注意:查看数据库实例名称 select @@servername 服务器名称,server处填写实例名称
注释:这个ASP.NET V4.0就是你的网站的高级设置中的应用程序池选项选择的那个.注意要以你选择的为准,名字可能不一样.找到你的网站相对应的应用程序池就行了
解决方案有几种,都有细微的差别,请各位自己到如下连接详情查看吧!!!
1.用户 'IIS APPPOOL\IdealTest' 登录失败解决方案
2.win7+IIS7.5解决用户"IIS APPPOOL\Classic .NET AppPool"登录失败
然而,按照某人的说法,以上的两种解决方案都会有重大网络安全隐患,至于是否是真的,我没测试过,不清楚,无论是以上哪种解决方案都请增加如下配置:
Internet信息服务(IIS)管理器-->网站-->你的网站-->身份验证-->匿名身份验证-->应用程序池标识-->确定!!!