ASP.Net错误:“应用程序池的标识无效”

时间:2009-05-14 14:10:11

标签: asp.net

我的ASP.Net网络服务无法运行,因为应用程序池由于遇到身份危机而无法启动。

我在应用程序池中使用的用户是域用户,它是本地管理员,它在IIS_WPG中,我已经给它“作为操作系统权限的一部分” - 没有。纳达。每次都无法启动应用程序池。

将用户添加到IIS_WPG通常是缺少的,但我想还有其他的东西。

我尝试过的事情:

  • 将用户添加到IIS_WPG
  • 将用户添加到本地管理员组并添加“作为操作系统的一部分”。
  • aspnet_regiis -ga
  • 重启...
  • 已检查密码
  • 重新创建应用程序池并仅将我的应用程序分配给它

P.S。 如果我使用网络服务用户它一切正常 - 它只是我的“自定义”用户失败。使用此用户登录(以交互方式)可以正常工作。

修改

解决方案如the accepted answer中所述(将“作为服务登录”权限添加到应用程序池的标识用户)。

我将在尝试将“作为服务登录”权限添加到域用户时添加以供将来参考的用户:

  

“此设置与。不兼容   运行Windows 2000 Service的计算机   装1或更早......“

知道这与Windows 2000 无关,而且只是域的组策略阻止您将此权限分配给用户。

16 个答案:

答案 0 :(得分:48)

您是否为帐户启用了“作为服务登录”?

开始 - >控制面板 - >管理工具 - >本地安全政策 - >本地政策 - >用户权利分配 - >作为服务登录

(确保您的帐户直接或间接位于此列表中;还建议您设置:从网络访问此计算机;拒绝本地登录;以批处理作业登录)

此外 - 确保该帐户具有“读取和执行”,“列出文件夹内容”和“读取”访问权限,以支持网站/应用程序。

答案 1 :(得分:21)

尝试在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727文件夹中运行以下命令:

aspnet_regiis -ga <your_app_pool_user>

有关配置用作应用程序池标识的用户帐户的详细信息,请参阅以下文章:

How To: Create a Service Account for an ASP.NET 2.0 Application (MSDN)

答案 2 :(得分:1)

确保有一个名为c:\ inetpub \ temp \ apppools的文件夹。如果没有,请创建它。

答案 3 :(得分:1)

确保尝试访问应用程序池的用户帐户是AD中IIS_USRS组的成员。

答案 4 :(得分:0)

正在发生的事情是您可能正在使用不同版本的.NET框架运行应用程序的池中运行您的应用程序。确保该池中的所有应用程序都运行相同的版本。如果这些应用必须使用与此版本不同的版本运行,请创建一个新池并将应用添加到其中。

答案 5 :(得分:0)

我知道这很简单,但你检查过密码是否正确?

答案 6 :(得分:0)

之前遇到过这个问题而无法追踪我同情的原因!一些可能有帮助的指针:

  • 检查密码是否正确(不好意思)
  • 使用尚未运行其他网站的新应用池
  • 确保您已运行aspnet_regiis -ga以设置所需的权限

如果一切都失败了:   - 停止应用并删除应用池   - 删除用户   - 重新创建用户   - 运行aspnet_regiis -ga   - 设置在此用户下运行的新应用程序池   - 在此池下运行该站点 这与复制和粘贴我使用的复杂密码一起为我工作!

答案 7 :(得分:0)

您是否有一个组策略可以将帐户从iis_wpg组中拉出来?无论出于何种原因,工作进程或服务需要在自定义帐户下运行,我们经常遇到此(或类似)问题。

答案 8 :(得分:0)

应用程序池用户帐户可能已被锁定。

答案 9 :(得分:0)

另一种可能发生的方式是你有CGI脚本。默认情况下,CGI脚本作为访问网站的Windows用户运行。要在特定帐户,帐户下运行CGI脚本,您需要额外的步骤:

IIS 7 +

转到inetmgr.exe中网站配置中的CGI部分。将模拟设置为false。

IIS 6

以管理员身份运行这些命令:

cd \inetpub\adminscripts
cscript.exe Adsutil.vbs SET W3Svc/CreateProcessAsUser false

下一步:让您的IT部门升级所有WS2003计算机......

答案 10 :(得分:0)

遵循所有其他建议后:

  1. 选中“作为服务登录”和“以批处理作业登录”权限
  2. 检查文件夹权限,c:\ Windows \ system32 \ inetsrv等
  3. 在Metabase Explorer中检查IIS_WPG组的权限
  4. 请记住重新启动IIS管理服务!

答案 11 :(得分:0)

值得一提的另一个小问题可能是,如果它是由管理员创建的新用户帐户,则可能会应用默认策略,例如在首次登录时更改密码&#39;。如果是这种情况并且登录尚未发生,这也将有效阻止用户帐户运行您的服务。

这不适用于OP的情况,因为他提到他可以使用该帐户以交互方式登录,但我今天碰到了这个,其他人也可能。

答案 12 :(得分:0)

在我的情况下,问题是我在域控制器出现问题时尝试使用域帐户。我刚刚使用较新版本的Windows(Windows 10)创建了一个新VM,并要求域管理员将其添加到域中,但我保留了与我的其他计算机上相同的主机名。

此外,在事件查看器中,我发现了有关域控制器等的错误消息,这给了我一个线索。

我不得不从域中删除该计算机并再次添加它,问题就解决了。

答案 13 :(得分:0)

为完整性发布一个简单的答案,因为我遇到了同样的错误,但是为我修复的是在设置身份时用域名包含域名。用户是有效的域用户和服务器的用户,我手动将其添加到IIS_组,但在我尝试添加域作为前缀之前没有骰子,例如“我们\ SVC-我的账户”。

答案 14 :(得分:0)

在尝试了上述所有方法后,无济于事,我注意到事件日志错误中的事件数据为80070700。对该错误进行谷歌搜索后得出“尝试登录,但未启动网络登录服务。” < / p>

我发现NetLogon服务没有启动,启动了它并宾果游戏-它如雨后春笋般涌现。希望有一天能对别人有帮助

答案 15 :(得分:0)

我遇到了同样的问题,并与之抗争了一段时间。在尝试了许多不同的解决方案之后,我卸载并重新安装了IIS。重新启动服务器后,一切都已修复。