我有一个经典的ASP页面,它使用HNetCfg.FwMgr对象在服务器的Windows防火墙上配置端口排除。在我的IIS 6,Win 03服务器上,我不得不将IUSR_machine帐户的Set / CreateKey / Delete访问权限添加到HKLM \ SYSTEM \ ControlSet001 \ Services \ SharedAccess \ Parameters \ FirewallPolicy \ StandardProfile \ GloballyOpenPorts \ List \ registry条目。
当我在新的Windows Server 2008 IIS 7上运行时,我得到了一个拒绝权限。如果我将匿名用户更改为Admin,或者甚至是作为Users组成员的新创建用户,则不会拒绝该权限,并且会进行更新。
我注意到存储防火墙条目的注册表中的位置已更改。但即使我给我的HKLM IUSR完全控制,它在尝试添加端口排除时仍然会被拒绝权限。它可以很好地读取端口排除列表,所以我假设对HNetCfg.FwMgr的访问工作正常。
任何人都有任何想法如何让IUSR能够使用该对象添加排除(HNetCfg.FwMgr)?目前使用新的fw政策2重写不是一个选项。
答案 0 :(得分:2)
您需要以管理用户身份运行应用程序池。如果您担心安全性,请将其作为具有管理员权限的虚拟目录运行。您可以使用不在该虚拟目录中的脚本(在I_user控制下的脚本)中的xmlhttp来调用具有管理员安全权限的(防火墙)虚拟目录中的脚本。这样,你的firwall脚本的url(虚拟目录)就不公开了。