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

时间:2012-12-10 18:00:01

标签: asp.net iis-8 windows-server-2012

所以我看过类似的问题,例如here

我不能为我的生活弄清楚出了什么问题。我正在尝试设置一个asp.net网站。该网站存储在服务器的D:Drive上。在IIS8(Windows Server 2012)中,我指向web.config文件所在的Web文件夹。我已经给IIS_IUSRS组读取了整个D:Drive以及作为IIS_IUSRS组一部分的IUSR和Network Service的读取权限。我一直在收到错误。我将身份验证设置为基本身份验证。我重新启动了网站。我已经尝试了很多东西,但已经达到了一定的目标。这一切都在localhost上。有没有人有更多的想法,为什么会发生这种情况?它可能是我的网络配置中的配置吗?该网站正在从IIS7网站移植。如果您需要我的webconfig中的详细信息,我可以告诉您,但很多信息都包含敏感信息。

错误:

HTTP错误500.19 - 内部服务器错误

无法访问请求的页面,因为页面的相关配置数据无效。

详细错误信息:

模块    IIS Web Core

通知    BeginRequest

处理程序    尚未确定

错误代码    0x80070005

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

配置文件    \?\ D:\ Applications \ Portal \ Portal.Web \ web.config

请求的网址    localhost:80 / Portal

物理路径    D:\ Applications \ Portal \ Portal.Web

登录方法    尚未确定

登录用户    尚未确定

请求跟踪目录    C:\ inetpub \ logs \ FailedReqLogFiles

配置来源:    -1:     0:

3 个答案:

答案 0 :(得分:2)

[1]。首先让它为匿名用户工作。然后收紧权限。

如果它对匿名用户不起作用,请查找应用程序池的名称(在IIS中)。在IIS池中,查找正在运行应用程序池的标识。授予该帐户读取权限。

[2]。查看服务器日志(控制面板,管理工具,事件查看器,系统)以查看有关错误的更多信息。

另外,请记住,任何以非匿名用户身份对网站进行身份验证的人都需要(读取)Web内容的权限。您可以通过临时授予“Everyone”组对web.config的读取权限(在文件系统级别)来测试/消除可能的问题。不要这样离开。只需使用此方法来测试权限。

答案 1 :(得分:1)

您可以通过打开IIS管理器并检查应用程序池来检查网站运行的用户。单击该站点正在使用的应用程序池,然后在“操作”窗格中选择“高级设置”。检查身份。如果将其设置为ApplicationPoolIdentity,则需要将其添加到Web根文件夹。您可以通过手动输入" IIS APPPOOL * apppoolname *"来添加它。其中apppoolname实际上是您最初选择的应用程序池的名称。输入名称后单击CheckNames,它应解析为没有前面的iis apppool的应用程序池的名称。

答案 2 :(得分:0)

这个问题似乎有很多非工作的答案,因为他们是发布它们的论坛。 IIS有时很难。因此,如果上述操作对您不起作用,则以下是我工作的政府机构尝试使其Server 2012机器正常工作的列表命令。他们说其中一些可能会失败,但只是忽略它们并继续下去。

简而言之,这些命令会解锁分层配置系统的某些部分,以便您可以通过应用程序的web.config文件对其进行调整。包括与压缩,静态内容, 希望这有帮助!

重要事项:在具有管理员权限的命令(DOS)窗口中单独运行以下命令(即右键单击命令提示符并选择以管理员身份运行)。

%windir%\ system32 \ inetsrv \ appcmd unlock config -section:httpCompression

%windir%\ system32 \ inetsrv \ appcmd unlock config -section:staticContent

%windir%\ system32 \ inetsrv \ appcmd set config / section:urlCompression / doDynamicCompression:True

%windir%\ system32 \ inetsrv \ appcmd set config / section:urlCompression / doStaticCompression:True

%windir%\ system32 \ inetsrv \ appcmd set config / section:httpCompression /+staticTypes.[mimeType='text/*',enabled='true'] / commit :APPHOST

%windir%\ system32 \ inetsrv \ appcmd set config / section:httpCompression /+staticTypes.[mimeType='message/*',enabled='true'] / commit :APPHOST

%windir%\ system32 \ inetsrv \ appcmd set config / section:httpCompression /+staticTypes.[mimeType='image/*',enabled='true'] / commit :APPHOST

%windir%\ system32 \ inetsrv \ appcmd set config / section:httpCompression /+staticTypes.[mimeType='application/x-javascript',enabled='true'] /提交:APPHOST

%windir%\ system32 \ inetsrv \ appcmd set config / section:httpCompression /+staticTypes.[mimeType='application/javascript',enabled='true'] / commit: APPHOST

%systemroot%\ system32 \ inetsrv \ AppCmd unlock config / section:windowsAuthentication

%systemroot%\ system32 \ inetsrv \ AppCmd unlock config / section:anonymousAuthentication