题 IIS 7.5(Windows 7) - HTTP错误401.3 - 未经授权


我正在尝试在localhost上测试我的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_IUSRS
  • 系统
  • 管理员
  • 内森(我)

我可以尝试解决这个问题?


76
2017-07-09 11:52




我一直在追问这个问题几个小时了。我已经拥有IUSR和Server \ IUSR将获得读取权限。我的问题原来是从Zip文件中提取的加密文件夹。如果文件夹名称为绿色,请尝试从“属性”框的“高级”设置中删除该复选框。这解决了我的问题。 - Lionel Morrison


答案:


IIS 7还创建“IUSR”作为默认用户通过IIS访问文件。因此,使用户IUSR具有对文件/文件夹的读取权限。

如何检查IUSR是否已读取Access? 右键单击 - >文件夹 - >属性 - >安全选项卡 查看IUSR是否在组或用户名列表中,如果否。

单击编辑 - >添加 - >高级 - >立即查找 - >选择IUSR,然后单击确定四次


118
2018-06-28 19:32



确保您从正确的位置搜索。我在我的工作领域搜索IUSR并且什么都没找到。然后我将位置更改为我的机器名称。 - Mike Blandford
注意:它要求IUSR和IIS_IUSRS都可以访问我的计算机。我在添加IUSR后尝试删除IIS_IUSRS,认为IUSR就是我所需要的,但它嘶哑。 - kdawg
只是添加它让我感到惊讶 IIS_IUSRs 还不够;我也不得不补充一下 IUSR。值得记住:o) - Owen Blacker
当然,IUSR用户默认已经是IIS_IUSRS的成员了吗?我的服务器似乎没有提及它为wwwroot设置的默认权限IUSR。 - NickG


在另一个论坛上找到了这个,所以我不能信用,但我做到了,它对我有用:

“尝试更改IIS7中的匿名身份验证设置:

单击身份验证,然后在选择匿名身份验证后单击编辑。在打开的窗口中选择Application Pool identity,然后单击OK。 “


32
2017-08-20 10:49



这就是为我做的事情。 - Chris Marisic
我正在使用模仿,这在某种程度上是问题所在。不知道为什么,但它有效! - Jarrod
这阻止了我今天撕掉我所有的头发。谢谢。 - pauska
在IIS 8.5上,似乎新应用程序的默认设置不是使用应用程序池标识,而是使用IUSR。好像对我来说有点困难! - Pathogen
想要为“运行应用程序池的用户”和“在'匿名'身份验证后通过应用程序池模拟的用户”需要单独的身份是有意义的 - 但只有后见之明,并且在找到此答案之后! - shambulator


我在Windows Server 2008上的IIS 7.5中遇到了同样的问题。对我来说,以下步骤可以解决问题:

  • 打开IIS管理器
  • 单击要编辑的网站
  • 双击 认证
  • 点击 匿名身份验证,然后点击 编辑... 下 操作
  • 改变使用 应用程序池标识 凭证而不是特定用户(我的是IUSR)

在我做了这个改变后,我的401.3错误消失了。


19
2018-01-05 20:56





您使用的是登录机制,还是只使用匿名身份验证?

如果是匿名,请进入IIS管理器,在“身份验证”图标中,选择“匿名身份验证”名称,然后单击“操作”中的“编辑”按钮。检查在那里指定了哪个用户,并确保它具有站点文件/文件夹的权限。

如果您使用某种形式的登录系统,请确保您登录的用户具有该站点文件的权限,并确保您运行的应用程序池的ID至少具有读取权限到文件。


10
2017-07-09 14:29





默认情况下,使用IIS 7.5,每个应用程序池都在其自己的“虚拟身份”下运行。 App Pool的标识是用于访问文件系统的凭据。

我不确定它的机制,但微软这样做是为了增加默认安装的安全性,同时减少在某些安装方案中创建服务帐户的需要。无论如何,结果是您必须识别此“虚拟身份”帐户并授予其访问您的目录的权限,或更改App Pool的服务帐户。

应用程序池虚拟身份名为“IIS AppPool”,因此如果您使用的是DefaultAppPool,则其身份将为“IIS AppPool \ DefaultAppPool”。

看到 这个 文章了解更完整的细节。


2
2018-06-09 03:19





嗨,对于我在IIS 8工作: 1)继续IIS虚拟目录 - 2)身份验证 - 3)匿名身份验证 - 4)  设置应用程序池标识。


2
2017-07-08 14:54



在我遇到的所有情况下,IUSR答案和这个答案都是完整解决方案所必需的 - Brian Knoblauch


因为上面的答案都没有帮助我,我想我会分享我是如何解决这个问题的,因为我在运行win7和IIS7的本地机器上碰到了它。

  • 转到IIS7 - >应用程序池

    找到您网站的应用程序池(在我的案例中为DefaultAppPool), 右键单击并选择“高级选项”。

    查找过程模型一章并将字段标识更改为用户 你知道肯定可以访问你网站文件夹中的文件(在 我的情况是本地管理员)


1
2018-02-27 17:57





答复包括对已接受答案的评论中的信息。

在Windows Server 2008r2上的IIS 7.5中,已包含IIS_IUSRS组,但仍必须将单独的IUSR组添加到允许文件访问/下载的权限。

有关帐户差异的更多信息,请参阅 了解IIS中的内置用户和组帐户。


1
2018-03-11 14:25





试试这个... 转到计算机管理(右键单击我的计算机并选择管理) - >本地用户和组 - >用户 - >选择IUSR_MACHINENAME - >右键单击属性 - >确保它是IIS_WPG和用户的成员不是客人。


我正在使用Server 2008 R2,并且列表中没有IUser帐户。


0
2017-07-09 14:36