持续的权限问题 - ASP.net、IIS 7、Server 2008 - 0x80070005(http 500.19)错误

持续的权限问题 - ASP.net、IIS 7、Server 2008 - 0x80070005(http 500.19)错误

我创建了一个 ASP.net MVC 开发的 Web 应用程序,并且正在尝试设置 IIS。

错误:Http 错误 500.19,错误代码 0x80070005,由于权限不足,无法读取配置文件,配置文件:C:\inetpub\wwwroot\BudgetManagerMain\BudgetManager\web.config

如果我将 AppPool 设置为使用“管理员”,则不会出现任何问题,并且可以正常访问网站。如果我设置为 NETWORK SERVICE(或其他任何设置,包括自行创建的管理员或非管理员用户帐户),则会出现上述错误。

我尝试过的事情:

  1. 名为“测试”的应用程序池的标识是“NetworkService”
  2. 设置 wwwroot 及其所有子文件/文件夹的完全访问权限
  3. 已验证有效权限并且网络服务具有完全访问权限。
  4. 我的网站上的身份验证设置为匿名并在应用程序池标识下运行
  5. 我没有在网站上设置任何物理路径凭证
  6. 确认网站设置为在名为“测试”的应用程序池下运行

使用进程监视器,以下是我在 ACCESS DENIED 事件中发现的内容的摘要

事件标签:

  1. 类别:文件系统
  2. 操作:创建文件
  3. 结果:访问被拒绝
  4. 路径:..\web.config

  1. 所需访问权限:通用读取
  2. 处置方式:开放
  3. 选项:同步 IO 非警报、非目录文件
  4. 属性:N
  5. 分享模式:阅读
  6. 分配大小:n/a

流程标签

...很多内容似乎不相关

用户: NT AUTHORITY\NETWORK SERVICE

答案1

错误的最简单解释:IIS 检测到一个名为

C:\inetpub\wwwroot\BudgetManagerMain\BudgetManager

并尝试阅读网页配置文件来自该位置,但应用程序池帐户无法读取该文件夹中的 web.config 文件。

这可能是因为 NTFS 权限阻止网络服务帐户(您上面提到的)访问该文件夹。

应用程序池帐户需要对网站内的所有文件夹和 web.config 文件的读取权限。

答案2

您可以尝试删除 Temporary ASP.NET Files 文件夹中的相关文件夹(C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files在 XP 中)。也许正在进行某种缓存?

相关内容