如何通过Web应用程序ASP.NET C#访问网络共享驱动器?

时间:2017-08-10 14:00:30

标签: c# asp.net

我在网上搜索并尝试了所有可能的解决方案,但我的网络应用每次都失败了! 我有一堆共享驱动器路径,我想通过Web应用程序访问。我有凭据来访问此共享驱动器路径。 我找到的可能解决方案是启用身份模拟,但在这种情况下我的网络应用程序失败了。我尝试使用UNC API访问它,但也失败了。我被告知我可以作为目录服务访问此共享驱动器(不需要使用UNC API)。 分享你的想法,如果你有! 谢谢!

启用身份模拟

在Web.Config

<identity impersonate="true" userName="username" password="pass">

当我启用身份模拟时,它无法找到我的项目 --Gives System.IO.DirectoryNotFoundException

(尝试在web.config中更改身份验证模式(Windows,无等) - 上面的错误相同)

UNC Access

我从这里拿了一份UNCAccessWithCredentials

https://www.codeproject.com/Articles/43091/Connect-to-a-UNC-Path-with-Credentials

using (UNCAccessWithCredentials unc = new UNCAccessWithCredentials()) 
//access network drives through functional id 
{ 

try
{
if (unc.NetUseWithCredentials(sharedrive, functionalID, domainName, 
functionalPass))
{ 
string[] files = Directory.GetFiles(sharedrive);
}
}
}

它在NetUseWithCredentials()方法

中抛出错误87

0 个答案:

没有答案