2012-10-25 190 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帐户权限。