Web.Config - 由于权限不足,无法读取配置文件

时间:2012-10-04 16:06:45

标签: asp.net windows iis acl

我收到错误:

Module  IIS Web Core
Notification    Unknown
Handler Not yet determined
Error Code  0x80070005
Config Error    Cannot read configuration file due to insufficient permissions
Config File \\?\C:\inetpub\wwwroot\web.config

文件本身具有IUSR的完全权限。 IIS正在ApplicationPoolIdentity下运行其应用程序池。我在文件上做了一个文件监视器,我看到了:

9:04:43.8035456 AM  w3wp.exe    8104    CreateFile  C:\inetpub\wwwroot\Web.config   ACCESS DENIED   Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, AllocationSize: n/a

不知道为什么我会收到这个错误......有什么想法吗?

6 个答案:

答案 0 :(得分:13)

尝试将这些帐户的读/写访问权限提供给Web应用程序的根文件夹以及所有文件/子目录:

NETWORK,NETWORK SERVICE,当然还有IIS_IUSRS

答案 1 :(得分:0)

首先,确保IUSR对配置文件具有读取权限(我相信你已经这样做了)

然后,将IIS身份验证方法更改为BasicAuthentication

如果仍然无法正常工作,可能是IIS中没有正确安装.config扩展名。

全部尝试3个!祝你好运!

编辑:忘记问你,​​它有什么样的应用?

答案 2 :(得分:0)

我刚遇到这个并且无法找到applicationpoolidentity作为帐户,以便将其添加到文件夹安全性。我将应用程序池标识从applicationpoolidentity更改为Local Service,并且该站点运行正常。

答案 3 :(得分:0)

我正在将一个实时WordPress网站复制到我的本地计算机,以便在发生此IIS错误时进行编辑/更新。更改权限没有任何作用。

就我而言,只需删除web.config即可。

答案 4 :(得分:0)

我发现将具有完全权限的mymachine / USERS添加到C:\ inetpub \ wwwroot修复了此问题。

问题是由于我在C:\ inetpub \ wwwroot中与其他开发人员共享了一些网站内容。这必须更改权限并完全破坏我的IIS。

答案 5 :(得分:0)

我今天又遇到了这个问题。这一次,没有授予权限的数量(尝试了所有常用帐户,每个人,只读,修改,完全控制)。

关闭进程,重新启动IIS,完全重启。没有结果。

最终将所有者从“管理员”更改为自己,事情已经到位。

我通常在管理员级别运行Visual Studio(使用我自己的帐户),因为我喜欢使用本地IIS来托管/调试ASP.NET站点。也许这导致新文件归\ Administrators所有,而这些文件又可能通过IIS或App Pool进程限制访问这些文件。

我的DefaultAppPool标识 设置为加载用户个人资料。我不知道会话管理器在什么时候应用UAC /权限丢弃以及用户配置文件加载是否对此有任何影响。值得深思的话......