【问题标题】:Cannot read configuration file due to insufficient permissions由于权限不足,无法读取配置文件
【发布时间】:2012-02-24 09:58:18
【问题描述】:

在升级到 Windows Server 2008 环境之前,我正在尝试在本地计算机上的 IIS 实例上测试我的 Web 服务。当我尝试浏览服务时,我得到了这个。我创建了一个自定义应用程序池,该服务将在 btw 下运行。所以我猜测该应用程序 ID 没有访问该文件夹等的权限……顺便说一句,我得到了这个小细节……

“当读取 Web 服务器或 Web 应用程序的配置文件时出现问题时会发生此错误。在某些情况下,事件日志可能包含有关导致此错误的原因的更多信息。”

我认为我需要授予该应用程序身份权限,但我不确定如何完成此操作。

还有其他方法可以完成这项工作吗?

【问题讨论】:

    标签: iis applicationpoolidentity


    【解决方案1】:

    这是因为身份验证设置但是:

    如果您更新了 Windows,则 C 中有一个名为 windows.old 的文件夹 您可以通过复制粘贴恢复过去的 Windows 版本 appilicationhost.config

    太简单了

    【讨论】:

      【解决方案2】:

      检查您的网站安全 -> 身份验证 功能。如果 anonymousAuthentication启用,请点击 Edit 链接(在 Actions 列中)以查看正在使用的身份;如果是IUSR,请确保IUSR 对网站的文件夹和文件具有文件系统ACL 权限。如果它设置为 'ApplicationPoolIdentity' 确保组 IIS_IUSRS 具有相同的权限,因为 'ApplicationPoolIdentity' 是动态添加到 IIS_IUSRS 组的运行。

      【讨论】:

      • 这取决于 IIS 版本。可以改为IUSR
      【解决方案3】:

      如果您在 IIS 的应用程序池中选择旧版本的 .Net 框架,有时可能会导致此问题。所以尝试使用更高版本的 .net 框架。

      【讨论】:

        【解决方案4】:

        我在 Windows 8.1 上遇到了类似的问题。我通过将标识值从 ApplicationPoolIdentity 更改为 Local System 来修复它。

        【讨论】:

          【解决方案5】:

          我所要做的就是在 IIS 7.5 中编辑虚拟目录(应用程序)的权限并将 IUSR 添加到权限中。这样就解决了。

          【讨论】:

            【解决方案6】:

            在 IIS(7) 上将应用程序的身份设置从“ApplicationPoolIdentity”修改为“LocalSystem”解决了我的问题。向 IIS_IUSRS 添加权限时没有。不过我不太明白为什么。

            【讨论】:

              【解决方案7】:

              1.打开IIS 2.在左侧面板点击应用程序池 3.并转到其属性并将身份值从“ApplicationPoolIdentity”更改为“本地系统”。

              当我尝试这个时,我解决了这个问题。

              【讨论】:

              • 非常感谢...我浪费了很多时间添加 IIS_IUSRS 或配置权限等。但是按照您的回答解决了问题..
              • 确实是一个很好的解决方案,我也不满意在每个该死的文件夹上添加用户和权限
              • 这也解决了我的问题,而不是在我的许可中添加 IUSR :)
              • 这是授予网站帐户的大量权限。您不应该对生产系统执行此操作。
              • 本地系统实际上非常危险。这是一个特权很高的帐户。对于公开可见的站点,授予任何 ApplicationPoolIdentity 太高了。 (如果您在有一些奇怪要求的 Intranet 站点上执行此操作,我可能会原谅)- 我建议您改用本地服务。
              【解决方案8】:

              不确定这对您来说是否为时已晚。

              IIS 网站由 USERS 或 IIS_IUSRS 运行。尝试执行以下操作:在 Windows 资源管理器中,右键单击 Web 指向的文件夹,转到安全选项卡,添加具有读取权限的计算机名\IIS_IUSRS 或计算机名\USERS。

              【讨论】:

                【解决方案9】:

                对我来说,我只是将文件转移到 c:\inetpub\wwwroot 下,错误就消失了。

                【讨论】:

                  最近更新 更多