由于权限不足,无法读取配置文件

我最近在尝试使用IIS托管asp.net网站时遇到错误。我找到了许多人都誓言的解决方案。


解:


在文件夹中的文件上添加具有读取权限的IIS_IUSRS

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

刷新网站。会工作的

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


但是,我该如何添加到web.config文件中?我以前从未编辑过它。这是其当前内容:


<?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:\ Users ***** \ Documents \ Visual Studio2010 \ WebSites \ PointsForTime \ web.config


互换的青春
浏览 2055回答 3
3回答

湖上湖

有你的web.config中没有问题。您的网站正在运行。在iis中,您可以定义该进程的身份。的身份,在你的网站的应用程序池运行作为(网络服务,本地系统等...),应该有权限访问和读取web.config文件。更新:更新后的答案与上述相同,但更长,更简单,也有所改进。首先:您无需在配置文件中进行任何更改。没关系。问题出在Windows文件权限上。发生此问题的原因是您的应用程序无法访问和读取web.config文件。使文件可被IIS_IUSRS组访问。只需右键单击web.config并单击“&nbsp;属性”,在“&nbsp;安全性”选项卡下,添加IIS_IUSRS。那么IIS_IUSRS是什么呢?您的网站是像一个exe文件。与任何exe文件一样,该文件应由用户启动,并根据分配给该用户的权限运行。当你的网站在启动IIS,应用程序池您的网站与相关用户(网络服务,本地系统等...)(并可以在IIS中更改)因此,当您说IIS_IUSRS时,它表示您的站点以其身份运行的任何用户(网络服务,本地系统等)。就像@Seph在下面的注释中提到的:如果您的计算机在域中,请记住IIS_IUSRS组是本地组。另外,请确保在尝试查找此用户时,应将其设置为本地计算机而不是公司域。

慕尼黑的夜晚无繁华

我在web.config文件上出现了相同的权限问题。但是,我的问题是由于IIS无法加载配置文件而引起的,因为它包含URL重写规则,并且我没有在新服务器上安装IIS URL重写模块。解决方案:安装重写模块。希望可以节省一些时间。
打开App,查看更多内容
随时随地看视频慕课网APP