IIS - 401.3 - 未经授权

Aad*_*mia 76 iis iis-7

我正在尝试使用IIS.我在IIS管理器上创建了一个新站点,将其映射到我的文件系统上的文件夹,并将index.html添加到该文件夹​​.我已将此站点的端口设置为85.当我尝试访问时http://localhost:85/index.html,我收到以下错误消息:

401.3 - unathorized - 由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面.

我给了文件夹上的每个人读取权限并再次尝试.然后我可以访问该页面.

然后我将我的文件夹的属性与wwwroot的属性进行了比较.我发现wwwroot在IIS_IUSRS上有读取权限...当我在我的文件夹上做同样的事情并再次尝试时,我又得到了上述错误.我检查了默认情况下启用了匿名访问,但我仍然收到此错误.

为什么会这样?解决问题的正确方法是什么?

gro*_*och 141

我已经在这个问题上挣扎了好几天.可以通过修改站点映射到的文件系统文件夹的安全用户访问属性来解决此问题.但IIS_IUSRS不是您必须授权的唯一帐户.

  • 在IIS管理控制台中,在站点配置的身份验证部分中,修改"匿名身份验证"行并检查帐户设置为"特定用户"(mint是IUSR).
  • 将您网站的文件夹的读取和执行权限授予该帐户.

要么

  • 在IIS管理控制台中,在站点配置的"身份验证"部分中,通过选择"应用程序池的标识"而不是"特定用户"来修改"匿名身份验证"行.

  • 我发现使用"应用程序池身份"的匿名工作,但由于某种原因无法使用IUSR.谢谢. (5认同)
  • 背后的逻辑是,默认情况下,站点使用匿名身份验证,而IUSR是匿名帐户.所以IIS使用IUSR帐户访问文件系统(网站物理路径),这可能无法正常工作(因为许多文件系统不接受IUSR).这就是401.3的原因.通过更改文件系统访问权限(授予该文件的帐户访问权限)或将匿名帐户更改为池标识(池标识位于IIS_IUSRS中,通常可以访问文件),IIS应具有足够的权限来访问文件. (3认同)

bar*_*ker 49

这对我有用.

  1. 将应用程序池标识设置为可以为文件夹分配权限的帐户.
  2. 确保已将源目录和所有相关文件授予对分配给应用程序池标识属性的帐户的文件的读取权限
  3. 在IIS中,在服务器根节点处,将匿名用户设置为从应用程序池标识继承.(这是我努力的部分)

要将服务器设置为匿名以从应用程序池标识继承,请执行以下操作:

  • 打开IIS管理器(inetmgr)
  • 在左侧窗格中,选择根节点(服务器主机名)
  • 在中间窗格中打开"身份验证"小程序
  • 突出显示"匿名身份验证"
  • 在右侧窗格中选择"编辑..."(应打开一个对话框)
  • 选择'应用程序池标识'

  • #3)固定我的问题:在IIS中,在服务器根节点,将匿名用户设置为从应用程序池标识继承.(这是我努力的部分) (6认同)
  • 我知道你不应该写“谢谢”评论,但我觉得我需要表达我的感激之情。我没有办法弄清楚这一点。 (2认同)

joe*_*dev 12

既然你正在处理静态内容......

在充当网站根目录的文件夹上 - 如果右键单击>属性>安全性,"用户"是否显示在列表中?如果没有单击"添加..."并输入,请务必在完成后单击"应用".


Leg*_*nds 12

TL; DR;

在大多数情况下,授予对以下一个或多个帐户的访问权限就足够了:

  1. IIS AppPool \ DefaultAppPool
  2. 研究所

具有访问权限

  1. 读取并执行
  2. 列出文件夹内容

而已!

继续阅读以获取更详细的说明...


  1. 打开IIS并选择您的应用程序
  2. 在右侧单击Authentication
  3. 在此处选择“ 匿名身份验证 ”。
  4. 弹出以下对话框。

在此处输入图片说明

根据上图所选择的内容,授予对Web应用程序文件夹的ACL的访问权限:

  • 特定用户:为两个用户授予访问权限IUSR(在我的情况下)+IIS AppPool\DefaultAppPool
  • 应用程序池标识IIS AppPool\DefaultAppPool仅授予访问权限

IIS AppPool\DefaultAppPool 该帐户是新IIS Web应用程序的默认AppPool帐户,如果已设置自定义帐户,请使用该自定义帐户。


对帐户授予以下权限:

  1. Read & Execute
  2. List folder contents
  3. Read

在此处输入图片说明

而已。