我有一个网站,请求用户使用集成 Windows 身份验证通过 IIS 6 进行访问,然后网页的一部分使用以下方法测试文件是否存在:

File.Exists(sourcePath)

其中 sourcePath 是用户应该能够访问的 UNC。目前我的问题是,虽然用户可以在网站之外访问这个 UNC 路径,但我得到了一个错误的结果。

现在奇怪的是,如果我使用,则测试成功
http://localhost/Site

在托管网站的服务器上,但如果我使用会失败
http://[machine name]/Site

这感觉像是一个权限问题,但正在努力确定其原因。

额外的细节:
  • UNC 路径在 NAS 服务器上
  • 网络配置具有 身份 impersonate="true"
  • 尝试为可以访问应用程序池中的 UNC 的用户添加用户配置。问题没有变化
  • 最佳答案

    您需要确保在模拟 UNC 路径的身份时明确设置用户名和密码,如下所示:

    <identity impersonate="true" userName="accountname" password="password" />
    

    关于c# - asp 网络 : File Exists returns false for UNC path but doesn't when accessing via localhost,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16040593/

    10-12 12:44