如何出示凭据以打开文件

本文关键字:文件 何出示 | 更新日期: 2023-09-27 17:47:46

如何指定用户名和密码以便打开程序要阅读的文件?需要访问该文件的程序正从一个帐户运行,该帐户对文件所在的文件夹没有读取权限。程序是用C#和.NET2编写的,在XP下运行,文件在WindowsServer2003机器上。

如何出示凭据以打开文件

您想要模拟一个有权访问该文件的用户。

我建议使用这样的类-http://www.codeproject.com/KB/cs/zetaimpersonator.aspx.它隐藏了所有令人讨厌的模拟实现。

using (new Impersonator("myUsername", "myDomainname", "myPassword"))
{
  string fileText = File.ReadAllText("c:'test.txt");
  Console.WriteLine(fileText);
}

我使用了Nuget包NuGetGallery|Simple Impersonation Library 1.1.0,但还有其他包;在模拟上搜索其他人。

使用交互式登录处理文件结构的示例用法:

using (Impersonation.LogonUser("{domain}",
                               "{UserName}", 
                               "{Password}", 
                               LogonType.Interactive))
{
     var directory = @"''MyCorpServer.net'alpha'cars";
     Assert.IsTrue(Directory.Exists(directory));
}

James的回答是在Nuget之前,在他后来拥有Nuget上下载量最大的软件包之前。讽刺啊

您可以模拟具有必要权限的用户。MSDN上有一篇文章描述了如何做到这一点。