我在 Windows Server 2012 R2 上运行的 IIS 8.5 中有一个 ASP.NET MVC 网站,该网站拒绝加载静态内容。服务器上安装了 .NET 4.5 扩展性和 ASP.NET 4.5,以及静态文件模块。静态文件处理程序已在网站上设置并正确配置。但是,当我尝试访问任何静态文件(.js、.css)时,我还是会收到 500 - 内部服务器错误。我已验证这些文件确实存在。应用程序的 .cshtml 文件已正确呈现,HTML 输出正确,但它引用的任何资源都不会加载。尝试通过 URL 直接访问它们时也是如此。
我发现的建议止步于静态文件处理程序。接下来我可以排除哪些故障?
答案1
IIS 失败请求跟踪日志显示读取静态文件时模拟出现错误。该组在计算机的本地安全策略中IIS_IUSRS
没有Impersonate a client after authentication
用户权限。添加此项后,文件现在可以按预期加载。
但是有人能解释一下为什么吗?为什么需要这个用户权限?