【问题标题】:How does IIS7 authorization work when setting up an application outside of wwwroot在 wwwroot 之外设置应用程序时,IIS7 授权如何工作
【发布时间】:2009-08-13 14:59:27
【问题描述】:

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

当我尝试访问应用程序时,它会引发错误。我对此进行了一些研究,得到的建议是将 NETWORK SERVICE 添加到应用程序的物理路径中。这没有用。然后我做了一些更多的研究,而不是使用网络服务,我添加了 ISUR。这行得通。

由此我得出了两个模糊的结论:

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

有人可以确认一下吗?

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

感谢您的所有帮助。

附:任何有关如何快速使用 IIS7 的博客都将受到高度赞赏。

【问题讨论】:

    标签: iis iis-7


    【解决方案1】:

    比这要复杂一点。

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

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

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

    • 应用程序池的默认身份是 NETWORK USER,这就是在您的情况下由 NETWORK 用户进行调用的原因。
    • 应用程序池的身份可以配置为不同的用户
    • 可以将 Web 配置配置为模拟调用用户

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

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

    【讨论】:

    • 所以我的结论是正确的。由于在我的情况下身份验证是匿名的,因此我必须将 IUSR 添加到物理路径以访问静态 html。如果我有一个 aspx 页面,我必须添加 NETWORK USER 才能使其工作。如果我同时拥有这两个帐户,我必须在物理路径上同时拥有这两个帐户吗?
    • 是的,对于您的配置,如果您在同一物理路径中同时拥有 aspx 和 html 文件。但是对于不同的配置,它可能会改变。
    猜你喜欢
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 2021-02-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2019-03-10
    相关资源
    最近更新 更多