可从IIS访问的虚拟文件夹,但不能从网页访问

时间:2015-09-01 04:17:12

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

我已经尝试了一段时间来减少我尝试做的最简单,最简单的工作形式。

此时,我的设置包括:

  • 清理Windows 10安装。
  • 清理IIS 10安装。
  • 在IIS中,我添加了一个虚拟目录别名为" dddd"指向文件夹" d:\ myfiles \" (在根网站文件夹之外)。
  • 在IIS中,当我右键单击" dddd" >探索:Windows资源管理器可以很好地提供我的文件列表。
  • 然而,在IIS中,当我右键单击" dddd" >点击"管理虚拟目录" >浏览>我得到了#34;访问被拒绝"。

此时并不太令人惊讶;可能权限相关。所以我开始摆弄NTFS权限。

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

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

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

此时我不想再继续下去,因为我对这些事情的理解肯定有限 - 告诉我这应该有效。

不应该吗?

为什么不是?

或者我们可以转向另一种方式并询问:位于Root IIS文件夹之外的(虚拟)文件夹所需的最低权限是什么,以便您可以通过单击链接列出其内容在几乎干净的Windows + IIS安装上的几乎裸的HTML文件上?

谢谢,

洪水

1 个答案:

答案 0 :(得分:1)

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

此时,您有两种方法可以完成这项工作。

  1. iusr的权限添加到" d:\ myfiles \"
    1. 更改您网站的Anonymous Authentication Credentials
    2. 在IIS管理器中选择您的站点,双击Authentication图标并选择Anonymous Authentication,在右侧单击Edit...,然后勾选Application Pool Identity

      现在,而不是IUSR,应用程序池标识帐户用于访问文件,该帐户自动成为已拥有权限的IIS_IUSRS成员。

      总而言之,在不进行此更改的情况下,IUSRIIS_IUSRS都需要读取权限。

      我通常会将IUSR从图片中删除,只使用IIS_IUSRS或实际的应用程序池标识。