代码之家  ›  专栏  ›  技术社区  ›  ScottE

IIS 7模拟和标识

  •  5
  • ScottE  · 技术社区  · 14 年前

    我一直在努力适应II7,在II6工作了一段时间。

    在第六阶段,我会 <identity impersonate="true"/> 在web.config中,如果文件夹需要的权限超过了读取权限,请确保将正确的NTFS权限应用到iusr_u[machinename]帐户。

    在IIs7中,如果不应用太多权限,则无法复制此安装程序。

    如果我使用 <Identity Impersonate=“true”/> 在IIs7中,environment.username告诉我,我确实在模拟IUSR帐户,这是新的等效帐户。但是,如果我使用表单身份验证登录到网站的管理部分,它模拟的方式与我预期的不同。

    在应用程序池中设置NetworkService时:

    • 未登录:iusr,未模拟:[machinename]。$
    • 已登录:[machinename]$,未模拟:[machinename]。$

    在应用程序池中设置localservice时:

    • 未登录:iusr,未模拟:本地服务
    • 登录:本地服务,不模拟:本地服务

    如果我授予IIS帐户NTFS权限,我可以使事情正常运行,但这似乎很奇怪。如何始终模拟IUSR帐户?或者,我是否应该向IIS授予NTFS权限?

    我很高兴能对IIS7中的这一变化有一个很好的解释-我已经四处搜索,找不到关于表单认证的这种用法的解释。

    2 回复  |  直到 13 年前
        1
  •  1
  •   Cypher    14 年前

    以下是TechNet文章的一个片段:

    如果为启用模拟 ASP.NET应用程序,该应用程序 可以运行在两个不同的 上下文:作为用户 通过IIS 7或作为 您设置的任意帐户。为了 例如,如果您使用匿名 身份验证并选择运行 ASP.NET应用程序作为 认证用户,应用程序 将在为设置的帐户下运行 匿名用户(通常是IUSR)。 同样,如果您选择运行 任意应用 帐户,它将在任何情况下运行 为此设置了安全上下文 帐户。

    这是完整的文件:

    http://technet.microsoft.com/en-us/library/cc730708%28WS.10%29.aspx

        2
  •  1
  •   Taylor Bird    14 年前

    IIS 7中的管道更改处理身份验证与以前的版本非常不同。大多数场景都是尽可能的,但是设置是不同的。

    您应该在IIs7.0中查看这个关于“破坏更改”的条目,它将帮助您缩小范围,了解正在发生的事情。

    http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/

    希望有所帮助