2012-10-25 227 views
1

我在IIS 7.5下運行ISAPI DLL,並希望使用Bill Egge的ISAPI Loader DLL,因此可以在不停止服務器的情況下更換已更新的DLL。IIS 7.5 ISAPI應用程序池安全

如果我把保存DLL的目錄下的安全設置爲「完全控制」的「everyone」,那麼它按照設計工作(具有* .update擴展名的dll會自動導致現有的* .run dll被備份,並用* .run擴展名重命名新的dll)。

很顯然,我不希望使用「所有人」帳戶,因爲這會打開安全範圍。所以我刪除了「所有人」的權限。

我的應用程序在應用程序池下運行 - 「TestAppPool」。我已按照最高評分回答IIS7 Permissions Overview - ApplicationPoolIdentity,並將用戶「IIS AppPool \ TestAppPool」的安全性添加到「完全控制」。 但是,這不允許* .update dll覆蓋* .run dll。

任何人都可以指向正確的方向。

+0

可能是個愚蠢的問題,但是您確定'TestAppPool'正在使用'ApplicationPoolIdentity'運行嗎?您可以通過右鍵單擊TestAppPool進行檢查,選擇「高級設置」,然後查看「過程模型\標識」。 – rsbarro

+0

Thx Rich,我已經仔細檢查了這一點,並且可以確認它正在使用ApplicationPoolIdentity進行Process Model \ Identity設置。 –

+0

您可以嘗試將完全控制權授予IIS_IUSRS組或可能的IUSR組或Users組。您可能可以使用名爲FileMon的實用程序來幫助解決您遇到的權限問題:http://support.microsoft.com/kb/890960。 – rsbarro

回答

1

感謝Rich,答案是修改在承載isapai dll的目錄上的IUSR帳戶權限。