最佳答案
下面是iis7.5和ASP的一个问题。NET,我一直在研究,但毫无进展。任何帮助都将不胜感激。
我的问题是:使用ASP。在IIS 7.5中,IIS和/或操作系统如何允许web应用程序在完全信任下运行时写入像C:\dump
这样的文件夹?为什么我不需要显式地为应用程序池用户(在这种情况下ApplicationPoolIdentity
)添加写访问?
我知道这么多:
ApplicationPoolIdentity
。ApplicationPoolIdentity
表示一个名为“IIS APPPOOL\AppPoolName”的Windows用户帐户,该帐户是在创建应用程序池时创建的,其中AppPoolName是应用程序池的名称。IIS_IUSRS
组的成员。C:\Users
, C:\Windows
等文件夹)。例如,您的应用程序将有权写入一些文件夹,如C:\dump
。IIS_IUSRS
组不被赋予对C:\dump
的读写权限(至少不能通过Windows资源管理器中的“Security”选项卡可见)。IIS_IUSRS
的写访问,你会在试图写入文件夹时得到一个SecurityException(正如预期的那样)。那么,考虑到所有这些因素,如何将写访问权限授予“IIS appppool \AppPoolName”用户?w3wp.exe进程作为该用户运行,那么是什么允许该用户写入它似乎没有显式访问权限的文件夹呢?
请注意,我理解这样做可能是为了方便,因为如果您在完全信任下运行,那么授予用户对需要写入的每个文件夹的访问权将是一件痛苦的事情。如果希望限制这种访问,可以始终在Medium Trust下运行应用程序。我对操作系统和/或IIS允许这些写入的方式感兴趣,即使似乎没有显式授予文件系统访问权。