我使用的是VSTS 2008 + C#+ .Net 3.5 + IIS 7.0。我创建了一个新的网站,并将一个html文件放入该目录。当我在IIS管理器中使用浏览功能浏览html文件时,我遇到了以下错误,任何想法有什么问题?
BTW:由于我在管理员帐户下运行工作进程,因此对未经授权的错误感到非常困惑。从错误消息,我很困惑,为什么登录方法是匿名的,而不是使用管理员帐户?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
答案 0 :(得分:17)
C:\测试\ simplehosttest \ a.html
请授予IUSR帐户对此文件或其文件夹的必要权利。然后401.3错误将消失。
答案 1 :(得分:14)
在IIS 8.5(全新安装)中,我将应用程序池作为自定义标识运行,文件存储在/ inetpub / wwwroot之外的文件夹中。身份具有所有正确的文件权限,但仍然有一个acl错误。
经过一番挣扎后,我发现在IIS管理器中 - >我的网站 - >身份验证 - >匿名身份验证 - >编辑用于匿名身份验证的身份默认设置为特定用户(IUSR)。设置它以使用应用程序池标识为我修复它!
答案 2 :(得分:1)
基本上,您必须将文件的读取权限授予在IIS中运行您的apppool的标识。 2008年服务器和Vista的身份(除非你明确改变它)将是“NT Authority \ Network Service”,而在Windows7上它是“IisAppPool \ AppPoolIdentity”(并且不要问为什么他们在win7上做了这个,它是一个WTF如果你问我)
答案 3 :(得分:1)
我发现这个问题的另一个原因是我正在部署的网站是以zip文件发送给我的。出于某种原因(可能是因为文件是在Mac上构建的),设置了加密安全性位的文件。这些文件在Windows资源管理器中显示为绿色。
答案 4 :(得分:0)
我遇到了同样的问题,但是没有一个建议的修复解决了我的问题。我试图在Windows Server 2008上的IIS7上部署带有表单身份验证的ASP.Net 4.0 Web应用程序。解决问题的方法是为处理程序提供读取和脚本权限,这可以通过打开处理程序映射然后选择“编辑功能”来完成。权限“来自右侧菜单。