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

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

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

如果我设置AppPool使用“pipe理员”,我没有任何问题,可以访问该网站就好了。 如果我设置为networking服务(或任何其他包括自我创build的pipe理员或非pipe理员用户帐户),我得到上述错误。

我已经尝试过的事情:

  1. 名为“test”的应用程序池的身份是“NetworkService”
  2. 为wwwroot和所有子文件/文件夹设置完全访问权限
  3. validation有效的权限和networking服务具有完全访问权限。
  4. 我的网站上的身份validation设置为匿名,并在“应用程序池标识”下运行
  5. 我没有在网站上设置任何物理path凭据
  6. 确认的网站设置为在名为“testing”的应用程序池下运行

使用进程监视器,这里是我在ACCESS DENIED事件中发现的摘要

事件标签:

  1. 类:文件系统
  2. 操作:CreateFile
  3. 结果:访问被拒绝
  4. path:.. \ web.config

  1. 所需的访问:通用读取
  2. 性格:开放
  3. 选项:Sybnchronous IO Non-Alert,非目录文件
  4. 属性:N
  5. ShareMode:阅读
  6. AllocaitonSize:n / a

处理标签

很多似乎不相干的东西

用户:NT AUTHORITY \ NETWORK SERVICE

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

C:\inetpub\wwwroot\BudgetManagerMain\BudgetManager

并尝试从该位置读取web.config文件,但Application Pool帐户无法读取该文件夹中的web.config文件。

这可能是因为NTFS权限阻止networking服务帐户(您上面指出)访问该文件夹。

应用程序池帐户需要对网站中的所有文件夹和web.config文件进行读取访问。

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