如何在IIS上为ASP.NET设置正确的文件权限

时间:2013-05-21 19:23:53

标签: asp.net .net iis permissions iis-7.5

  

HTTP错误500.19 - 内部服务器错误   无法访问请求的页面,因为页面的相关配置数据无效。

     

错误代码:0x80070005
  配置错误:由于不足而无法读取配置文件   权限

在IIS 7.5中添加新的Web应用程序并运行它时,此页面显示给我,如何解决这个问题win7 ultimate visual studio 2010

enter image description here

2 个答案:

答案 0 :(得分:25)

信息很明确。

  

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

如何解决。

每个asp.net应用程序都在分配给它的一个池下运行,每个池都在特定帐户下运行。

打开IIS,找到应用程序尝试运行的池,查看分配给该池的用户,并在完整站点目录树中为该用户授予读取权限。

特别适用于web.config

web.config ,即该消息所说的configuration file,必须具有(和)写入权限

因此,您可以在站点的根目录上找到web.config,右键单击它,转到权限并为池用户提供写入功能。池用户是池下运行的用户,我将在下面解释。

更多详情

为了能够使用IIS运行公共asp.net站点,目录中的每个文件都必须拥有两个帐户的权限。

允许公开访问的一个帐户以及分配给该应用程序池的帐户具有。

要查找/分配第一个帐户,请转到您的iis网站认证|编辑,然后在屏幕截图中看到或更改它。

现在请注意名称,我们将在泳池运行下找到用户 转到IIS站点并单击“基本设置”以查找池名称,然后转到IIS |应用程序池并查看“标识”列,并记下您网站运行时用户的名称。

现在我们有两个用户名,我们转到站点的根目录并设置读取的最小权限

一些笔记

  • 如果IIS_Public_ACCESS_USER没有给予读取权限,则运行该站点,但要求输入密码
  • 在某些目录上,如果您让用户上传图像,或者在App_Data上保留一些数据库文件,则需要和写入权限。仅适用于您提供的目录以及IIS_POOL_USER的写入权限。
  • 某些目录,如App_Data和App_Code,可以直接保护asp.net,并且不允许来自客户端的任何人运行或查看最新信息。
  • 在允许对用户进行写访问的公共目录中添加一个web.config并完全禁用所有asp.net文件的运行。

有关提供写入权限I've been hacked. Evil aspx file uploaded called AspxSpy. They're still trying. Help me trap them‼

的目录的更多内容

答案 1 :(得分:-1)

看起来您的IIS_User没有在C:\ Users .... \ Visual Studio 2012 \ Websites中访问您网站的必要权限... 还要确保您的应用程序运行的是正确的.NET版本(2.0,4.0,...)