我在网上搜索并尝试了所有可能的解决方案,但我的网络应用每次都失败了! 我有一堆共享驱动器路径,我想通过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