2013-10-03 105 views
31

我正在尝试使用IIS。我在IIS管理器上创建了一个新站点,将其映射到我的文件系统上的一个文件夹,并将index.html添加到该文件夹​​中。我已经把这个站点的端口设置为85。当我尝试访问http://localhost:85/index.html,我得到了以下错误消息:IIS - 401.3 - 未授权

401.3 - unathorized - 您没有权限查看,因为访问控制列表(ACL)进行 配置或加密设置该目录或页面此资源位于Web 服务器上。

我给读取文件夹上的所有人,并再次尝试。我可以访问该页面。

然后我比较了我的文件夹和wwwroot的属性。我发现wwwroot在IIS_IUSRS上有读取访问权限......当我在我的文件夹上做了同样的事情并再次尝试时,我又得到了上述错误。 我检查了默认启用匿名访问,但我仍然得到这个错误。

为什么会发生这种情况?解决问题的正确方法是什么?

回答

9

既然你处理静态内容...

在充当你的网站 - 的根,如果你右击>属性>安全,确实“用户”列表中显示的文件夹?如果没有点击“添加...”并输入,确保完成后点击“应用”。

81

我在这个问题上挣扎了好几天。可以通过修改站点映射到的文件系统文件夹的安全性用户访问属性来解决此问题。但IIS_IUSRS不是您必须授权的唯一帐户。

  • 在IIS管理控制台中,在您的站点配置的身份验证部分,修改“匿名身份验证”行并检查设置为“特定用户”(mint为IUSR)的帐户。
  • 为您的网站的文件夹授予对该帐户的读取和执行权限。

OR

  • 在IIS管理控制台,在您的网站配置的认证部分,通过选择“标识的应用程序池”,而不是“特定用户修改了“匿名身份验证”行”。
+5

我发现与“应用程序池标识”的匿名身份验证工作,但由于某种原因无法使用IUSR。谢谢。 – fortboise

25

这里是我工作。

  1. 将应用程序池标识设置为可以为文件夹分配 权限的帐户。
  2. 确保源目录和所有相关文件已被授予 读取权限的文件分配给应用程序池标识属性的帐户
  3. 在IIS中,在服务器根节点,设置匿名用户从 应用程序继承游泳池身份。 (这是我挣扎的部分)

要设置服务器的匿名从应用程序池的身份继承做以下..

  • 打开IIS管理器(inetmgr)
  • 在左 - 手窗格中选择根节点(服务器主机名)
  • 在中间窗格打开“认证”小程序
  • 突出显示“匿名验证”
  • 在右边的窗格中选择“编辑...”(对话框应打开)
  • 选择“应用程序池标识”
+0

#3)修复我的问题:在IIS中,在服务器根节点上,将匿名用户设置为从应用程序池标识继承。 (这是我努力的部分) –

+0

谢谢!!!!!! – developernator

+0

我知道你不应该写“谢谢”评论,但我觉得我需要表达我的感激之情。我不会想到这一点。 –

0

你将不得不授予权限,以两个帐户 (根在IIS Web应用程序)的文件夹

  1. IIS应用程序池\默认应用 (这是一个新的IIS Web应用程序的默认帐户,如果您使用自定义的,你需要添加此则)
  2. IUSR

提供以下权限这两个帐户:

  1. 读&执行
  2. 列出文件夹内容

就是这样。