IIS何时创建应用程序池身份?

3
我创建了一个IIS管理工具,旨在创建新应用程序,将它们指定给新的AppPool,并为与该AppPool关联的标识添加所需的文件夹ACL。根据这篇文章,每当创建新的应用程序池时,IIS管理进程会创建一个表示应用程序池名称的安全标识符(SID)。
但是,在我的Windows 8 Pro机器(IIS8)上似乎不是这种情况。只有与AppPool关联的应用程序启动后才会创建SID。这使得设置文件夹ACL的任务非常困难,应用程序需要在创建AppPool标识之前启动,但如果没有设置ACL,则应用程序无法正常工作...先有鸡还是先有蛋。
这里出了什么问题?我的Win8机器上有一个错误吗?这是Win8 / IIS8的一般行为吗?我在Server 2008 R2上没有任何问题(IIS 7.5),那里会在创建IIS中的AppPool时立即创建AppPool标识SID。
我知道创建AppPool和创建SID之间存在不确定的延迟。通常这不到一秒钟。但在这种情况下,延迟似乎是无限的(几分钟后,SID仍然不存在)。

很奇怪,我在一台安装了IIS 8的Windows Server 2012标准版机器上并没有遇到这个问题。两台机器都运行着同样版本的IIS - 8.0.9200.16384,并且应用程序池默认设置也是相同的。 - Snixtor
1个回答

0

看起来SID只有在进程运行时才会创建。我有一个相关的问题,即在重新启动后,HKEY_USERS下的注册表hive完全消失了。测试表明,只要我的Web服务启动(即在第一次请求时)并具有相同的SID和完全恢复的内容,注册表hive就会完全恢复,因此我猜想,一旦您第一次获取了SID,即使在重新启动后它尚不存在,您也可以将其用于相同的目的。不过,让安全系统相信您没有在命名方面犯错误可能仍然是一个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接