asp net:File Exists为UNC路径返回false,但在通过localhost访问时不返回

时间:2013-04-16 15:08:31

标签: c# asp.net

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

File.Exists(sourcePath)

sourcePath是用户应该能够访问的UNC。目前我的问题是,当用户可以在网站之外访问此UNC路径时,我得到一个错误的结果。

现在奇怪的是,如果我使用

,测试成功
http://localhost/Site 

在托管网站的服务器上但如果我使用

则失败
http://[machine name]/Site 

这感觉就像是一个权限问题,但却在努力找出原因。

额外详情:

  • UNC路径位于NAS服务器上
  • 网络配置身份impersonate =“true”
  • 尝试为有权访问应用程序池中的UNC的用户添加用户配置。问题没有变化

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

这听起来像是Kerberos的一个问题。我猜测应用程序池正在运行的身份没有正确SPN configured