我创建了一个IIS管理工具,用于创建新的应用程序,将它们分配给一个新的AppPool,并为与该AppPool关联的标识添加所需的文件夹ACL。根据这篇文章,每当创建新的应用程序池时,都会创建一个安全标识符(SID),该标识符表示应用程序池本身的名称。
但在我的Windows8Pro机器(IIS8)上,情况似乎并非如此。只有在与AppPool关联的应用程序启动后才会创建SID。这使得设置文件夹ACL的任务相当困难,应用程序需要在创建AppPool标识之前启动,但是除非设置了ACL,否则应用程序将无法工作。鸡肉和鸡蛋。
这里发生了什么事?我的Win8机器上有窃听器吗?这是一般的Win8 / IIS8行为吗?我在服务器2008 R2 (IIS7.5)上没有任何问题,确实在IIS7.5中创建了AppPool标识SID,只要在IIS7.5中创建了AppPool。
我知道在创建AppPool和创建SID之间存在不确定的延迟。这通常不到一秒钟。在这种情况下,延迟出现无限期(几分钟后,SID仍然不存在)。
发布于 2015-03-16 09:39:10
SID似乎只在进程运行一次之后才创建。我有一个相关的问题,在重新启动后,HKEY_USERS下的注册表单元将完全消失。测试表明,一旦我的web服务启动(即在第一次请求时),注册表单元就会完整地返回相同的SID和内容,因此我猜想,一旦您第一次获得了SID,就可以将它用于相同的目的,即使它在重新启动后还不存在。但是,让安全系统相信你在命名上没有犯错误可能仍然是个问题。
https://stackoverflow.com/questions/16532886
复制相似问题