我最近遇到了一个错误,试图用IIS托管我的asp.net站点。我找到了一个很多人信誓旦旦的解决办法。

解决方案: 对文件夹中的文件添加具有读权限的IIS_IUSRS 修改IIS认证方式为BasicAuthentication 刷新网站。会有用的

(http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html)

我在我的网里加了什么?配置文件?我以前从来没编辑过。以下是其当前内容:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
 <system.web>
  <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
    </system.web>
</configuration>

我的错误是:

配置错误:由于权限不足,无法读取配置文件 配置文件:\?\ C: \用户* * * * *网站视觉Studio2010 \ \文件\ \ PointsForTime \ web . config


当前回答

我有这个错误消息,原来是由于我的物理文件夹位于网络驱动器,而不是本地驱动器。在默认情况下,这些驱动器上的权限似乎是不同的。例如,虽然本地驱动器位置为本地计算机的用户提供了权限,但网络位置却没有。

此外,接受的答案并不适用于这种情况。无法为本地用户或IIS用户分配权限。解决方案是将物理文件夹移动到本地驱动器。

其他回答

所有给出的答案都是有效的,并在不同的情况下工作。

对我来说,重新启动Visual Studio起作用了。

在某些情况下是网络。配置文件格式不正确。 打开网络。配置并粘贴以下代码:

<?XML版本="1.0"编码="utf-8"?> < >配置 > < /配置

在我的例子中,我试图从映射的驱动器(subst)托管页面。 问题是subst是在我的帐户下运行的,IIS用户无法看到相同的驱动器

当我试图与另一个用户共享站点根文件夹时,我也遇到了同样的问题。某些文件夹失去权限。 因此,我按照Afshin Gh建议的步骤向IIS_IUSRS组添加权限。 问题是这个小组不适合我。我用的是windows 7。

我所做的只是改变了一些步骤:

右键单击父文件夹(失去权限的人), 属性=>安全=>在“组或用户名:”中, 单击Edit…… 将打开“权限文件夹”窗口。 在“组或用户名:”中按ADD…btn, 输入Authen并按检查名称, 您将看到完整的组名“Authenticated Users” 按ok =>应用。 这将再次启用特权。

这对我很管用。

我通过为应用程序池用户(WIN SERVER 2008 R2)添加读权限来解决这个问题: C:\Windows\System32\inetsrv\config

一点背景知识: 我们的服务器被黑客使用经典的错误,应用程序用户有更多的权限,它应该(本地管理)。

为了解决这个问题,我们创建了一个新的域用户,它只对应用程序文件夹有权限,并将其分配为应用程序池用户。然后我们遇到了问题,这是我们问题的解决方案。