it-swarm.cn

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

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

我该如何解决?

82
Nathan Ridley

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

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

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

124
Ejaz

在另一个论坛上找到了这个,所以我不能相信,但是我做到了,它为我工作:

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

单击身份验证,然后在选择匿名身份验证后单击编辑。在打开的窗口中,选择“应用程序池标识”,然后单击“确定”。 ”

33
Stryder

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

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

进行此更改后,我的401.3错误消失了。

22
Mark

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

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

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

10
MattB

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

3
Alex

默认情况下,使用IIS= 7.5),每个应用程序池均以其自己的“虚拟身份”运行。应用程序池的身份是用于访问文件系统的凭据。

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

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

有关详细信息,请参见 this 文章。

3
ntcolonel

回答以包含有关已接受答案的评论中的信息。

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

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

2
Chris Pickering

由于以上答案均无济于事,我想我将分享在运行Win7和IIS7的本地计算机上解决此问题时的解决方法。

  • 转到IIS7->应用程序池

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

    找到“过程模型”一章,将“标识”字段更改为您确定可以访问您网站文件夹中文件的用户(在我的情况下为本地管理员)

2
Daniel Hedenström

对于这还不够的用户:

我得到它与此一起工作:

  • 打开网站的功能视图。
  • 转到处理程序映射。
  • 查找.cshtml的路径
  • 右键单击并单击“编辑功能权限”
  • 选择执行
  • 点击确定。

现在尝试刷新您的网站。

1
nixkuroi

尝试此操作...转到计算机管理(右键单击我的计算机,然后选择管理)->本地用户和组->用户->选择IUSR_MACHINENAME->右键单击属性->确保它是成员IIS_WPG和用户而不是来宾。


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

1
Matt

尝试使用aspnet_regiis -c安装IIS)的客户端,然后重置IIS。

1
titilola