在谈论 IIS 7.5 安全性时,AFAIK:
App Pool Identity决定我的 Web 应用程序以谁的身份运行。
验证方法决定谁的客户端认证为。
我有一个这样配置的虚拟文件夹:
但事实证明我无法浏览该文件夹中的文件。一旦我授予 XXX 帐户访问该文件夹的权限,事情就会顺利进行。
那么App Pool Identity在匿名认证中扮演什么角色呢?我必须授予 App Pool Identity 帐户访问文件夹的权限,这完全出乎意料。我认为匿名身份验证就足够了?
谢谢。
Tri*_*anK 18
这里有很多重载的术语,以及 IIS 7 和 7.5 之间的变化。
让我们从应用程序池标识(小写 I,又名应用程序池帐户)开始:
我告诉它的方式是,应用程序池帐户是用于启动应用程序池的帐户,以及应用程序池在不冒充其他人时所采用的身份。
因此,无论您为 App Pool 提供什么身份,它都需要能够读取内容文件夹中的文件:特别是{但不限于}任何web.config 文件(构成 IIS 配置的一部分,并控制App Pool 将要做)。
如果它不能访问一个文件夹,它会假设那里可能有一个重要的(改变游戏规则的)web.config 文件,并显示一个错误。因此,应用程序池帐户需要对所有内容文件夹的读取权限。
为什么要区分App Pool Account(应用池的身份)和App Pool Identity?因为使用特殊大写的ApplicationPoolIdentity是一种新帐户类型- 托管服务帐户 - 在 IIS 7.5 / Windows 2008 R2 中引入并设为默认值,并且也可从 Windows 2008 SP2 中使用(但不是默认值)。
当您使用 GUI 在 R2 下创建网站时:
在 2008 RTM 中,默认的应用程序池帐户是网络服务加上唯一的应用程序池标识/唯一标识符;新的 R2/SP2 AppPoolIdentity帐户类型是一种类似网络服务的帐户(即连接离线时的计算机),但防止在同一个框中模拟另一个应用程序池。
应用程序池帐户定义谁您的应用程序运行的时候它不是模仿别人
身份验证方法描述了您将如何对客户端进行身份验证(以模拟它们)
该匿名用户帐户定义你要冒充为未通过身份验证请求的用户在作为运行谁- IUSR是这样的用户。
顺便提一下,在 IIS 7.5 中,您可以将匿名用户帐户设置为应用程序池标识(匿名身份验证方法的属性),这可能会更直接地隔离和保护给定网站的内容。
使用 IIS AppPool\YourSiteName 为名称格式设置权限。(另见这篇文章)
| 归档时间: |
|
| 查看次数: |
17657 次 |
| 最近记录: |