首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS 6.0权限问题

问IIS 6.0权限问题
EN

Server Fault用户
提问于 2009-08-16 10:02:30
回答 2查看 726关注 0票数 1

我对两个账户的不同感到困惑,

  • 应用程序池将在其上运行的Windows帐户;
  • 当我们使用对IIS的web应用程序的匿名访问时,相关的映射Windows帐户。

有什么不同吗?

我正在使用Windows 2003 x64 +IIS6.0。

谢谢你,乔治

EN

回答 2

Server Fault用户

发布于 2009-08-16 10:16:12

有点令人困惑,不是吗?首先,匿名访问帐户已经存在多年了,在IIS 6中,应用程序池的概念是新的。我认为(尽管我没有证据),如果IIS是从零开始设计的,那么它就不是这样设置的,它感觉就像是在保持可伸缩性。

应用程序池帐户需要服务器上的某些权限。通常通过将帐户添加到IIS_WPG本地组来授予这些权限。

匿名访问帐户不需要这些权限。

假设您的网站设置为允许匿名访问,那么您的页面运行的帐户将由web应用程序的模拟设置决定。如果是“模拟”,则请求将作为匿名帐户处理。另一方面,如果关闭了模拟,那么无论身份验证设置如何,请求都将作为应用程序池帐户运行。

如果您不需要模拟,那么如果关闭它,您将获得更好的吞吐量。我还认为,如果页面请求作为应用程序池运行,而不是在流程中包含另一个帐户,则更容易跟踪。

我为企业内部网编写了一些小型的web应用程序。它们倾向于使用windows身份验证,以便ASP知道谁在访问页面,但不模拟,因此请求作为应用程序池运行。这允许数据库访问作为一个windows帐户运行,这使管理变得更容易(IMO),并使我们的DBA感到高兴。

一个不需要知道是谁在运行它的站点,打开匿名访问,但却关闭了模拟。

编辑:进一步阅读。

快速搜索MSDN找到了可能有帮助的这文章。我还找到了关于IIS 7中的事情是如何变化的这些二文章。

他们似乎支持我的理论,即现在IIS支持应用程序池时,匿名访问帐户并不是必需的。

编辑:关于冒充

如果在ASP.NET中没有设置,则ASP.NET将使用来自machine.config的设置。有关各种配置文件如何交互的更多信息是这里。

票数 1
EN

Server Fault用户

发布于 2009-08-20 17:58:10

我是一个新的用户,没有足够的声誉点来评论,所以希望这样的回复是好的。很好的讨论。我想我应该加几句评论。

正如您所指出的,pipTheGeek在IIS7中要好得多。您可以将站点设置为始终只使用应用程序池标识。那么你就不需要再维护两个用户了。当每个应用程序池有一个站点,或者同一个应用程序池中的所有站点相互信任时,这是非常棒的。

IIS_ WPG (没有空间)。这个文本序列使它变成斜体)是一种要求,而不是模仿的考虑因素。在IIS6中,如果不向IIS_ WPG组添加用户,则不能将其用作应用程序池的标识。应用程序池将在第一次尝试使用它时失败。在IIS7中,用户被自动注入到IIS_ WPG中,因此您不必再担心它了。

在模拟方面,它没有100%遵循,所以您至少需要对应用程序池标识和匿名或经过身份验证的用户都有读取权限。例如,如果您对Server连接字符串使用windows,它将始终使用RevertToSelf并使用应用程序池标识,而不是匿名(或经过身份验证)用户的标识。

若要确认是否设置了模拟集,请使用www.sysinternals.com中的进程监视器。这样,您就可以看到磁盘上使用的是什么,行的属性将显示它是否模拟。这是一个免费的工具,在生产服务器上是安全的,而且很容易学习。

默认情况下没有启用模拟,所以如果您在web.config中没有看到它,那么它可能还没有启用。但是,如果您不是服务器管理员,也可以在framework文件夹中检查根web.config和machine.config,以确认它没有设置在那里。搜索“冒充”这个词。

另一方面,每当您看到谈论ASPNET用户的文档时,请将它们视为旧文档,并用于IIS5。在is 6,7中,它真正的含义是应用程序池身份用户。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/54692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档