繁体   English   中英

具有ACL和静态内容的IIS 8 401.3

[英]IIS 8 401.3 with ACL and static content

我在IIS和ACL上遇到问题。

我已经在专用的AppPool下配置了MVC应用程序。 该应用程序池在ApplicationPoolIdentity(在我的情况下为用户IIS AppPool \\ accountinfo.local =与我的网站相同的名称)下运行。

我在根文件夹上完全控制了该用户,并确保继承了权限。

当我访问主页时,它运行良好,并且可以访问它。 但是,当我尝试访问位于子文件夹(Content / Site.css)中的静态内容时,出现错误401.3。

我已经确保了权限是继承的,如果我获得有效的权限,我可以看到该用户确实拥有完全控制权。

我启用了失败的请求跟踪以及安全审核,但是我没有任何日志文件,也没有事件查看器中的任何事件。

我在这里想念什么?

好,我知道了。

显然,对静态内容的请求不会通过applicationIdentity而是通过标准IUSR帐户。

一旦我授予该用户对该文件夹的读取权限,它便开始工作。

今天学了点儿新东西。

在IIS中使用匿名身份验证时,静态内容由“匿名用户身份”访问(并提供)。 默认情况下,这是设置为特定的内置用户帐户“ IUSR”的-因此,为什么授予该用户权限可以解决该问题(如Kenneth的出色回答所述 )。

如果由于某种原因而不愿意使用IUSR帐户,则可以通过执行以下操作来更改IIS中网站的“匿名用户身份”:

  1. 转到IIS中的站点,然后在功能窗格中双击“身份验证”

IIS功能窗格的屏幕截图,突出显示了身份验证

  1. 右键单击“匿名身​​份验证”,然后选择“应用程序池标识”以使用您的应用程序池标识(或者您可以通过单击“设置”按钮来设置与IUSR不同的特定用户)

编辑匿名身份验证凭据对话框的屏幕截图

此Microsoft Docs文章中也记录了该过程:

在IIS上构建静态网站-步骤3:配置匿名身份验证

我将重述一个重要的原因,您可以选择更改匿名身份验证身份,该身份在该文章中已提到:

如果使用IUSR帐户,则向匿名用户授予与该帐户关联的所有内部网络访问权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM