如何使用当前凭据访问unc文件夹而不在c#中输入凭据信息?

如何使用当前凭据访问unc文件夹而不在c#中输入凭据信息?,c#,webdav,unc,networkcredentials,C#,Webdav,Unc,Networkcredentials,在我的公司,我正在用c#开发一个应用程序,在其中我必须访问unc文件夹。我对此进行了搜索,但找到了需要手动输入凭据的示例 我想实现的是,有两个用户组(我不知道IT部门是如何设置的),其中一个无法访问文件夹内容。但可以在Windows资源管理器中映射具有空内容凭据的文件夹。因此,据我所知,它对用户进行身份验证。因此,我需要确定用户是否具有访问权限。为此,我检查文件夹的内容,如果它是空的,这意味着用户没有访问权限,如果他没有。到目前为止,用户需要事先映射文件夹,否则程序将抛出授权异常。无论用户是否映

在我的公司,我正在用c#开发一个应用程序,在其中我必须访问unc文件夹。我对此进行了搜索,但找到了需要手动输入凭据的示例

我想实现的是,有两个用户组(我不知道IT部门是如何设置的),其中一个无法访问文件夹内容。但可以在Windows资源管理器中映射具有空内容凭据的文件夹。因此,据我所知,它对用户进行身份验证。因此,我需要确定用户是否具有访问权限。为此,我检查文件夹的内容,如果它是空的,这意味着用户没有访问权限,如果他没有。到目前为止,用户需要事先映射文件夹,否则程序将抛出授权异常。无论用户是否映射文件夹,我都希望在不向用户提示任何窗口的情况下访问当前凭据信息,因为未设置为访问内容的窗口不需要提示

我写过这样的东西

String pathWorkWebDav = "@\\domain@SSL\DavWWWRoot\folder";

Uri uri = new Uri(@"\\domain"); 
ICredentials credentials = CredentialCache.DefaultCredentials;
var nc = credentials.GetCredential(uri, "Basic");
但我不知道更多

编辑:

我也尝试过,但得到的错误是“访问路径”\people.fev。com@SSL\DavWWWRoot\personal\consulting'被拒绝。“其中我的代码部分如下所示

我如何解决这个问题?我希望我能描述得很好

String pathWorkWebDav = @"domain@SSL\DavWWWRoot\folder";
IntPtr token = IntPtr.Zero;
var success = LogonUser("username", @"domain", "password",
            9, 0, ref token);
if (success)
{
   using (WindowsImpersonationContext person = new WindowsIdentity(token).Impersonate())
   {
      string[] allImgs = Directory.GetFiles(pathWorkWebDav);

      person.Undo();
      CloseHandle(token);
    }
}

我需要替换“用户名”和“密码”吗?如果是这样,这不是我想要的。

“但不知道进一步的情况。”-实际问题是什么?您收到了什么错误?它不会提示错误。但我不知道如何使用这些凭据访问unc文件夹。以及如何检查实际访问写入。凭据在用户名、域和密码属性中有空字符串。