如何允许IIS访问符号链接文件夹



我有两个Web服务器,在C:\inetpub\logs\LogFiles中的每个Web服务器上,我创建了一个到其他服务器日志文件夹的符号链接,所以基本上我可以登录到其中一个Web服务器并在一个位置查看两个服务器上的日志。这非常有效。

我正在构建一个网页,通过网页提供日志文件,代码只需转到C:\inetpub\logs\LogFiles目录,并列出每个子文件夹中的文件,即W3SVC1(本地文件夹(和webserver2-wosvc1(远程日志文件夹(。

对于本地文件夹,它工作得很好,但我得到了";访问被拒绝";尝试调用符号链接文件夹上的Directory.GetFiles时出错。我怀疑这是某种权限错误,但我尝试赋予符号链接文件夹"的完全权限;每个人";但我还是犯了同样的错误。

这是否与我创建符号链接时必须输入webserver2的用户名和密码有关,而IIS在尝试访问文件夹时无法访问/使用这些凭据?

我能做些什么让IIS访问这个符号链接文件夹的内容吗?

我认为您不需要使用符号链接,您可以在IIS中创建一个映射到该目录的虚拟目录,只需将其映射到目标路径即可。在IIS中,右键单击网站并选择"添加虚拟目录"。

欲了解更多信息,请参阅本官方文件。

经过大量实验,唯一的方法如下:

  1. 在计算机上创建一个新用户
  2. 在IIS中使用此新用户标识运行AppPool,而不是使用默认的IUSR帐户
  3. 将您正在共享的文件夹权限授予该用户,并与新用户"共享"该文件夹