【问题标题】:Virtual Folder accessible from IIS, but not from web page可从 IIS 访问的虚拟文件夹,但不能从网页访问
【发布时间】:2015-09-01 04:17:12
【问题描述】:

我一直在尝试将我正在尝试做的事情简化为最简单、有效的形式。

此时,我的设置包括:

  • 干净的 Windows 10 安装。
  • 清理 IIS 10 安装。
  • 在 IIS 中,我添加了一个别名为“dddd”的虚拟目录,指向文件夹“d:\myfiles\”(位于根 Web 文件夹之外)。
  • 在 IIS 中,当我右键单击“dddd”> 浏览时:Windows 资源管理器会很好地显示我的文件列表。
  • 但是,在 IIS 中,当我右键单击“dddd”> 单击“管理虚拟目录”> 浏览 > 我得到“访问被拒绝”。

在这一点上并不太令人惊讶;可能与权限有关。所以我开始摆弄 NTFS 权限。

在更改任何内容之前,我注意到此文件夹列出了具有完全控制权的系统帐户,以及具有完全控制权的我的帐户(以及作为所有者的我的帐户)。

我将首先添加具有(默认)权限为读取和执行、列出文件夹内容和读取权限的网络服务帐户;但是,没有运气。

然后我将添加 IIS_IUSRS 帐户;具有相同的默认权限;仍然被拒绝访问。

在这一点上,我不想更进一步,因为我(当然有限)对这些事情的理解告诉我这应该可行。

不是吗?

为什么不是呢?

或者我们可以反过来问:位于根 IIS 文件夹之外的(虚拟)文件夹所需的最低权限是多少,以便您可以通过单击几乎裸露的链接来列出其内容几乎干净的 Windows + IIS 安装上的 HTML 文件?

谢谢,

洪水

【问题讨论】:

    标签: c# asp.net iis iis-7


    【解决方案1】:

    IIS_IUSRS 添加权限是正确的,但对Network Service 不是必需的,只要您不将其用作应用程序池的标识即可。

    此时,您有两种选择来完成这项工作。

    1. iusr 的权限添加到“d:\myfiles\”

    1. 为您的网站更改Anonymous Authentication Credentials

    在 IIS 管理器中选择您的站点,双击Authentication 图标并选择Anonymous Authentication,在右侧单击Edit...,然后勾选Application Pool Identity

    现在使用应用程序池身份帐户而不是 IUSR 来访问文件,并且该帐户自动成为已拥有权限的 IIS_IUSRS 的成员。

    总结一下,如果不进行此更改,IUSRIIS_IUSRS 都需要读取权限。

    我通常不考虑IUSR,只使用IIS_IUSRS 或实际的应用程序池标识。

    【讨论】:

    • 谢谢彼得。迫不及待想在我回家时尝试一下。
    • 彼得,我应用了您的 #2 选项并且它有效,前提是我还打开了目录浏览。是否绝对需要打开目录浏览的额外步骤?它会在“d\myfiles\”文件夹中创建一个 webconfig 文件。
    • 我问的原因是因为我添加到该文件夹​​的 NTFS 权限的 IIS_IUSRS 组已经具有“列出文件夹内容”。谢谢。
    • @Flood - 如果您希望用户浏览/列出该文件夹的内容,您需要启用Directory Browsing 这与List folder content 不同,IIS 与 Windows 操作系统,两者都需要。
    • 您已经回答了我的问题并提供了启动说明。如何将此标记为已回答/已解决/等?谢谢。
    猜你喜欢
    • 2010-12-31
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多