iis 如何从ASP.NET网页读取本地Map驱动器上的文件

fcipmucu  于 12个月前  发布在  .NET
关注(0)|答案(1)|浏览(120)

我想从提供的路径中创建一个文件列表。我需要从位于其他服务器而不是我的IIS服务器上的给定文件夹中读取所有文件。
我在IIS服务器上Map了驱动器以读取它,但页面加载时它要求我提供凭据,我不希望这样。我已将凭据保存在IIS上上传页面的位置并Map了驱动器。

string xrayPath = @"\\172.18.0.23\or\CARM\" + xrayPath;
List<FileInformation> directories = new List<FileInformation>();
List<FileInformation> lstFiles = new List<FileInformation>();
List<FileInformation> lstAllFiles = new List<FileInformation>();

System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(xrayPath);

int fileId = 0;
PoplateFiles(ref lstFiles, ref directories, dir, 0, ref fileId);

foreach (var file in directories)
{
    file.isDirectory = true;
    lstAllFiles.Add(file);
}

foreach (var file in lstFiles)
{
    file.isDirectory = false;
    lstAllFiles.Add(file);
}

字符串
当我测试它时,它在Visual Studio中工作,但当我将它部署到IIS上的服务器时,它会要求我提供凭据,当我在浏览器上提供凭据时,什么也没有发生。

fquxozlt

fquxozlt1#

在Map驱动器的服务器上,我创建了一个应用程序池,并在应用程序池的标识字段中选择了有权访问Map驱动器的用户,并将加载用户配置文件设置为true。
然后,我将该应用程序池分配给我的应用程序虚拟目录。
现在这段代码可以正常工作了。之前,应用程序池上的身份用户无法访问其他网络路径/Map驱动器。
因此,我提供了有权访问该路径的用户,即在Map文件夹的安全选项卡中。现在它在该用户下运行,因此它不会要求凭据。

相关问题