限制特定组的目录访问(IIS)

限制特定组的目录访问(IIS)

我在 Server 2003(标准 x64)安装上运行独立 IIS 6 服务器。该 IIS 服务器托管 1 个站点,该站点需要通过 HTTPS 进行基本身份验证才能授予访问权限。该站点的结构如下:

  • 网站根目录
    • 索引.html
    • 民众
      • 一堆帮助文档
    • 下载
      • 一堆技术文档/安装程序/等等
    • web_svc(名为 REST 的虚拟文件夹指向此处)
      • ASP.NET MVC 应用程序

我想限制下载文件夹,以便只有属于特定组的用户才能访问它,但我遇到了一些问题。

我在计算机管理中创建了一个名为“下载者”的组,并向其中添加了几个用户。然后,我删除了下载文件夹的继承权限(通过 NTFS 文件夹属性),并添加了“下载者”组的读取权限(我授予系统和管理员完全控制权)。

问题是,当管理员或属于“下载者”组的用户进行身份验证并尝试获取下载文件夹中的文件时,他们会收到拒绝访问错误。这不是标准的 403,而是显示“/应用程序中的错误”,并表示他们未获得授权web.config

我想我有点困惑,因为根站点只是平面 HTML,在他们深入 REST 虚拟站点(或 web_svc 目录)之前,没有任何 ASP.NET 内容。

有什么建议吗?我可以编写一个 ASP.NET 应用程序并将其放在根目录,然后将其用作“守门人” - 但我认为 IIS 应该能够本机执行此操作。

提前致谢!


编辑:

如果有必要,我可以将 web_svc 移出站点根目录。实际上还没有尝试过...

答案1

您的想法合乎逻辑,但 IIS 不会模拟您的用户。它以 W3C 服务帐户或应用程序池标识运行(如果您的站点配置为应用程序)。因此,服务帐户或应用程序池标识必须有权访问该文件夹,否则用户将收到运行时错误。

我的建议是将网站配置为应用程序,然后使用 web.config 文件来限制对下载文件夹的访问。

本文应该会为您提供入门所需的信息。 http://support.microsoft.com/kb/815151

相关内容