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

Tha*_*osa 8 .net asp.net iis permissions iis-7.5

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

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

当在IIS 7.5中添加新的Web应用程序并运行它时,这个页面向我展示了如何解决这个问题的win7终极视觉工作室2010

在此输入图像描述

Ari*_*tos 25

消息很清楚.

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

如何解决它.

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

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

特别适用于web.config

它所说的web.configconfiguration 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文件的运行.

有关提供写入权限的目录的更多内容我已被黑客入侵.上传的Evil aspx文件名为AspxSpy.他们还在努力.帮我陷阱吧!


Ben*_*ees -2

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