我试图在本地主机上testing我的ASP.Net网站,我得到这个错误:
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.
我有以下用户在网站应用程序文件夹,具有完整的读/写权限:
我可以尝试解决这个问题?
IIS 7还创build“IUSR”作为默认用户通过IIS访问文件。 因此,使用户IUSR有读取文件/文件夹的权限。
如何检查IUSR是否具有读取权限? 右键单击 – >文件夹 – >属性 – >安全选项卡查看IUSR是否在组或用户名列表中,如果否。
点击编辑 – >添加 – >高级 – >查找 – >selectIUSR并点击确定四次
在另一个论坛上发现这个,所以我不能拿信誉,但我做到了,它为我工作:
“尝试更改IIS7中的匿名身份validation设置:
单击身份validation,然后在select匿名身份validation后单击编辑。 在打开窗口中select应用程序池标识,然后单击确定。 “
我在Windows Server 2008上的IIS 7.5中遇到了同样的问题。对于我来说,以下步骤解决了这个问题:
我做了这个改变后,我的401.3错误消失了。
你是使用login机制,还是只是匿名身份validation?
如果是匿名的,进入IISpipe理器,在身份validation图标中,select匿名身份validation名称,然后单击操作中的编辑button。 检查那里指定的用户,并确保它有权限到站点文件/文件夹。
如果您有某种forms的login系统,请确保您login的用户对该站点的文件具有权限,并确保您正在运行的应用程序池的ID至less具有读取权限到文件。
默认情况下,在IIS 7.5中,每个应用程序池都在自己的“虚拟身份”下运行。 应用程序池的标识是用于访问文件系统的凭据。
我不确定它的机制,但是微软这样做是为了增加默认安装的安全性,同时减轻在某些安装场景下创build服务帐户的需要。 无论如何,结果是你将不得不识别这个“虚拟身份”帐户,并授予它访问您的目录,或更改应用程序池的服务帐户。
应用程序池虚拟身份被命名为“IIS应用程序池”,所以如果您使用的是DefaultAppPool,其身份将是“IIS AppPool \ DefaultAppPool”。
看到这篇文章更多的完整的细节。
嗨在IIS 8我的工作:1)去IIS虚拟目录 – 2)身份validation – 3)匿名身份validation – 4)设置应用程序池标识。
由于没有上述的答案帮助我,我想我会分享我是如何解决这个问题,因为我碰到我的本地机器运行win7和IIS7。
转到IIS7 – >应用程序池
find您的网站的应用程序池(在我的情况DefaultAppPool),右键单击并select高级选项。
查找Process Model章节,并将字段Identity更改为您确定可以访问网站文件夹中的文件的用户(在本例中是本地pipe理员)
回答包括接受的答案的评论信息。
在Windows Server 2008r2上的IIS 7.5中,已经包含IIS_IUSRS组,但是单独的IUSR组仍然必须添加到允许文件访问/下载的权限。
有关帐户差异的更多信息,请参阅了解IIS中的内置用户和组帐户。
尝试这个…转到计算机pipe理(右键单击我的电脑,selectpipe理) – >本地用户和组 – >用户 – >selectIUSR_MACHINENAME – >右键单击属性 – >确保它是一个成员IIS_WPG和用户,而不是客人。
我正在使用Server 2008 R2,并且IUser帐户在列表中不可用。
尝试使用aspnet_regiis -c
安装IIS的客户端,然后重置IIS。
对于用户来说这还不够:
我得到这个工作:
现在尝试刷新您的网站。