在wwwroot之外设置应用程序时,IIS7授权如何工作

时间:2009-08-13 14:59:28

标签: iis iis-7

我尝试在II7中添加一个新应用程序,并将其指向我在wwwroot之外的硬盘上的另一个目录。我把它放在默认的应用程序池下并作为应用程序用户连接。该应用程序包含简单的静态html页面而不是asp.net,这是我的开发服务器,只会用于此。

当我尝试访问应用程序时,它会抛出错误。我对此做了一些研究,我得到的建议是将NETWORK SERVICE添加到应用程序的物理路径中。这没用。然后我做了一些研究,而不是使用NETWORK SERVICE我添加了ISUR。这很有用。

出于这个原因,我得出了两个模糊的结论:

  • NETWORK SERVICE用于asp.net应用程序
  • IUSR用于静态html页面

有人可以确认一下。

  • 是否可以安全地说,如果我的asp.net应用程序包含html文件,我需要将两个帐户添加到我的物理路径以使其正常运行?
  • 对我来说,由于这是一台开发机器,因此可能更容易连接并使用我在Windows上登录的帐户。我是对的吗?
  • 最后,如果我将我的测试应用程序添加到wwwroot下的文件夹中,那么自从wwwroot及其文件夹已经设置了静态html和asp.net的正确权限后,一切都会有效吗?

感谢您的帮助。

P.S。任何有关如何加快IIS7速度的博客都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

比这复杂一点。

对静态HTML页面的调用通过IIS

  • 如果IIS身份验证是匿名的,则IUSR将访问该文件
  • 如果IIS身份验证是Windows,则它将是使用的请求的Windows标识

对ASP.net页面的调用首先通过IIS然后进入ASP.net进程

  • 应用程序池的默认标识是NETWORK USER,这就是您的情况下由NETWORK用户进行的调用。
  • 可以将应用程序池的标识配置为其他用户
  • 可以配置Web配置以模拟主叫用户

这有很多可能的组合,比我在这里介绍的要多得多。但基本上你必须看看:

  • 访问网站的用户的身份
  • IIS的配置
  • 应用程序池的配置
  • web.config
  • 的配置