我有一台装有 IIS6 的 Windows Server 2k3,托管了几个 ASP.NET MVC 2 应用程序(.NET 4),全部位于默认网站中。它们中的大多数仅使用集成身份验证,但也有几个使用表单。所有应用程序均正常运行并可正确访问。
我正在尝试解决的问题是访问默认文档。它当前被指定为 index.htm。index.htm 和默认网站都配置为允许匿名访问(未选中任何经过身份验证的访问框)。但是,该文件的访问被拒绝。
server.domain.tld/
通过和访问server.domain.tld/index.htm
均会产生 401 错误。但是,server.domain.tld/default.htm
(文件不存在)可以正确返回 404。
如果我改变 index.htm 上的文件安全性以允许集成身份验证,则/index.htm
直接请求对于具有域帐户的用户来说可以正常工作,但匿名用户会收到登录提示/401。
如何配置 IIS 以允许所有用户通过 查看 index.htm server.domain.tld/
?
答案1
匿名访问的文件权限是通过名为 的特殊用户帐户设置的IUSR_<MachineName>
。
检查文档根文件夹和index.htm
文件本身的 NTFS 权限(安全选项卡)。验证此帐户是否对匿名用户需要浏览的所有文件和文件夹具有“读取”权限。
如果此帐户未列出,或者不具备所有默认读取权限,请尝试添加具有默认“读取”权限的帐户。(当然,您应该不是授予此帐户“修改”或“完全控制”权限。)
有关更多详细信息,请参阅 Microsoft 的教程如何为 IIS6 设置所需的 NTFS 权限和用户权限。