通常,出于绝望的考虑,我最终会在Web应用程序正在访问的文件夹上启用“Everyone”访问权限(可能用于文件创建,阅读等),因为我无法确定哪个用户帐户可以访问
显然,这是一件非常糟糕的事情。
有没有办法确定IIS在哪个帐户正在使用哪个帐户来访问文件夹(可能还有其他资源,如SQL Server等)?
我能看到的日志会告诉我吗?或者其他一些方式?
我通常在没有模仿的情况下使用Windows Auth。不确定该信息是否相关。
答案 0 :(得分:3)
另一种更通用的方法是使用Process Monitor之类的工具,并为以网站根目录开头的任何内容添加路径过滤器(即c:\ inetpub \ wwwroot)。然后,您必须通过右键单击列标题将用户名添加为列,但是一旦执行此操作,w3wp.exe进程就会在您尝试访问网站时显示,并显示正在使用的用户帐户。此技术应该适用于所有文件访问权限问题。
答案 1 :(得分:1)
如果您不使用模拟,则在大多数情况下会使用应用程序池标识,但访问SQL Server和UNC文件的情况会略有不同。
这篇MSDN文章将所有信息放在一个地方,但你真的需要花很多时间来消化每一个细节,
答案 2 :(得分:1)
使用Sysinternals Process Monitor查看实际发生的情况。
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx