我创建了一个 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 仍然不存在)。