我遇到了IIS和ACL的问题.
我在专用的AppPool下配置了一个MVC应用程序.apppool在ApplicationPoolIdentity(在我的情况下是用户IIS AppPool\accountinfo.local =与我的网站同名)下运行.
我在根文件夹上完全控制了该用户,并确保继承了权限.
当我访问主页时它运行正常,我可以访问它.但是,当我尝试访问我的静态内容时,它位于子文件夹(Content/Site.css)中,我收到错误401.3.
我确保权限是继承的,如果我转到有效权限,我可以看到该用户确实拥有完全控制权.
我已启用失败的请求跟踪和安全审核,但我没有得到任何日志文件,也没有事件查看器中的任何事件.
我在这里错过了什么?
Ken*_*eth 27
好,我知道了.
显然,静态内容请求不通过applicationIdentity,而是通过标准IUSR帐户.
一旦我赋予该用户对该文件夹的读取权限,它就开始工作了.
今天学了点儿新东西.
在 IIS 中使用匿名身份验证时,静态内容由“匿名用户身份”访问(和提供)。默认情况下,这被设置为特定的内置用户帐户“IUSR” - 因此为什么授予该用户的权限可以解决问题(如Kenneth 的优秀回答中所述)。
如果您出于某种原因不想使用 IUSR 帐户,您可以通过执行以下操作来更改 IIS 中网站的“匿名用户身份”:
此 Microsoft Docs 文章中也记录了该过程:
我将重现您可能选择更改匿名身份验证身份的一个重要原因,该文章中提到了这一点:
如果您使用 IUSR 帐户,则授予匿名用户与该帐户关联的所有内部网络访问权限。
| 归档时间: |
|
| 查看次数: |
2871 次 |
| 最近记录: |