2013-05-13 29 views
3

我創建了一個IIS管理工具,用於創建新的應用程序,將它們分配給新的AppPool,併爲與該AppPool關聯的標識添加必需的文件夾ACL。根據this article每當創建新的應用程序池時,IIS管理進程都會創建一個安全標識符(SID),表示應用程序池本身的名稱。IIS何時創建AppPool標識?

但是,我的Windows 8 Pro機器(IIS8)似乎並不是這種情況。只有在與AppPool相關的應用程序啓動時纔會創建SID。這使得設置文件夾ACL的任務非常困難,應用程序需要在創建AppPool標識之前啓動,但是除非設置了ACL ...雞蛋和雞蛋,否則應用程序將無法工作。

這是怎麼回事嗎?我的Win8機器上有錯誤嗎?這是一般的Win8/IIS8行爲?我在Server 2008 R2(IIS 7.5)上沒有問題,它在的地方創建了AppPool身份SID,只要在IIS中創建AppPool。

我知道有一個不確定的延遲創建AppPool和創建SID之間。這通常不到一秒鐘。在這種情況下,延遲似乎是不確定的(幾分鐘後,SID仍然不存在)。


+0

非常奇怪的是,在Windows Server 2012標準機器上,IIS 8沒有遇到這個問題。兩者都是相同版本的IIS - 8.0.9200.16384。並且都具有相同的應用程序池默認值。 – Snixtor 2013-05-14 00:40:44

回答

0

這似乎是該SID只創建一次,正在運行的進程。我有一個相關的問題,HKEY_USERS下的註冊表配置單元在重新啓動後完全消失。測試表明,只要我的Web服務啓動(即第一次請求)時,註冊表配置單元就會完全恢復完整,並且具有相同的SID並且內容已完全恢復,所以我猜想一旦您第一次獲得SID,就可以將其用於即使在重新啓動後它還不存在,也是一樣的目的。讓安全系統相信你沒有犯命名錯誤可能仍然是一個問題。