我最近遇到了一个错误,试图用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


当前回答

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

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

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

其他回答

你不需要改变你的web.config中的任何东西。

问题在于文件系统权限。您的文件权限不允许IIS_IUSRS用户访问web。配置(或可能是任何文件)。更改他们在windows中的文件权限,允许IIS_IUSRS帐户访问它。

公认的解决方案并不适合我。我使用一个Git回购,它克隆到下面的文件夹

c:\users\myusername\source\repos\myWebSite

我制作了新的IIS网站,并将其指向路径。它没有接受的解决方案中建议的iis_iusrs权限。当我添加权限时,它仍然不起作用。

当我给'Users'组以下权限和继承级联权限web.config时,它才开始工作。也许应该把它只用在网络上。配置减少攻击表面积。

我在Windows 10上使用microsoftaccount\email@contosa.com帐户运行应用程序池时遇到了这个问题(例如,用Microsoft帐户而不是本地帐户登录PC)。

显然在我的电脑上有些东西损坏了;删除IIS并重新添加它没有任何作用(因为IIS元数据库似乎没有被删除)。删除和重新创建应用程序池也无济于事。

我的解决方案是创建一个新的应用程序池,使用相同的设置,但名称不同。这为我解决了问题;显然,有些东西已经损坏了与appool,即使删除它,重新添加它与相同的名称不会修复。

出于某种原因,你的网。Config设置为只读。取消选中web的只读选项。配置文件。

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

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