C# IIS 7.0中对html页面的未经授权访问错误

C# IIS 7.0中对html页面的未经授权访问错误,c#,.net,iis,visual-studio-2008,iis-7,C#,.net,Iis,Visual Studio 2008,Iis 7,我使用的是VSTS2008+C++.NET3.5+IIS7.0。我创建了一个新网站,并将一个html文件放入目录中。当我使用IIS管理器中的浏览功能浏览html文件时,我遇到了以下错误,有什么问题吗 顺便说一句:我对未经授权的错误感到非常困惑,因为我在管理员帐户下运行工作进程。从错误消息中,我不明白为什么登录方法是匿名的,而不是使用管理员帐户 HTTP Error 401.3 - Unauthorized You do not have permission to view this direc

我使用的是VSTS2008+C++.NET3.5+IIS7.0。我创建了一个新网站,并将一个html文件放入目录中。当我使用IIS管理器中的浏览功能浏览html文件时,我遇到了以下错误,有什么问题吗

顺便说一句:我对未经授权的错误感到非常困惑,因为我在管理员帐户下运行工作进程。从错误消息中,我不明白为什么登录方法是匿名的,而不是使用管理员帐户

HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server.

Module IIS Web Core 
Notification AuthenticateRequest 
Handler StaticFile 
Error Cde 0x80070005 
Requested URL http://localhost:80/a.html 
Physical Path C:\test\simplehosttest\a.html 
Logon Method Anonymous 
Logon User Anonymous 

C:\test\simplehosttest\a.html


请授予IUSR帐户对此文件或其文件夹的必要权限。然后401.3错误将消失。

基本上,您必须授予在IIS中运行应用程序池的标识对文件的读取权限。在2008服务器和Vista上,该标识(除非您明确更改)将是“NT Authority\Network Service”,在windows7上是“IISAPPOOL\AppPoolIdentity”(不要问他们为什么在win7上这样做,如果您问我的话,这是WTF)

我也有同样的问题,但建议的修复方案都没有解决我的问题。我试图在Windows Server 2008的IIS7上部署一个带有表单身份验证的ASP.Net 4.0 web应用程序。解决这个问题的方法是向处理程序提供读取和脚本权限,这可以通过打开处理程序映射,然后从右菜单中选择“编辑功能权限”来实现。

我发现这个问题的另一个原因是,我部署的网站是以zip文件的形式发送给我的。出于某种原因(可能是因为这些文件是在Mac电脑上构建的),这些文件都带有加密的安全位集。文件在Windows资源管理器中显示为绿色。

在IIS 8.5(新安装)中,我让应用程序池作为自定义标识运行,文件存储在/inetpub/wwwroot外部的文件夹中。该标识具有所有正确的文件权限,但我仍然收到一个acl错误


经过一番努力,我发现在IIS管理器->我的站点->身份验证->匿名身份验证->编辑中,用于匿名身份验证的身份默认设置为特定用户(IUSR)。将其设置为使用应用程序池标识为我修复了它

是否启用了目录浏览?安装iis时是否启用了静态内容/静态文件处理程序?感谢mglmnc,“是否启用了目录浏览”--如何检查?以前从未这样做过。感谢iwo,如何检查“安装iis时是否启用了静态内容/静态文件处理程序”?我已经将工作进程的帐户设置为管理员,为什么仍然存在权限问题?管理员应该比IUSR更强大?我已经尝试添加IUSR,它可以工作了,酷!为什么使用IUSR可以解决我的问题?此特殊用户用于?IUSR用作默认匿名用户帐户。这意味着当您的站点可以匿名访问时,实际上IIS使用IUSR帐户作为所有用户的登录帐户。然后,您必须授予IUSR对文件夹的必要权限,以便它可以访问这些文件夹。我很困惑,有一个名为“AppPoolIdentity”的用户名?我已尝试将html页面权限添加到用户“IUSR”中,它可以工作。为什么使用IUSR可以解决我的问题?此特殊用户用于?我已将IIS\u IUSR添加到文件权限,而不是“IUSR”。厌倦了你的垃圾microsoftThis立即为我修复了它,有人能评论一下为什么它默认为IUSR而不是
应用程序池标识