如何指定用户名和密码以便我的程序打开 一个文件供阅读? 需要访问该文件的程序是从一个帐户运行的 没有该文件所在文件夹的读取权限。 程序是用C#和.NET 2编写的,在XP下运行,文件在Windows Server 2003机器上。
答案 0 :(得分:12)
您想要冒充有权访问该文件的用户。
我建议使用这样的课程 - http://www.codeproject.com/KB/cs/zetaimpersonator.aspx。它隐藏了模仿的所有令人讨厌的实现。
using (new Impersonator("myUsername", "myDomainname", "myPassword"))
{
string fileText = File.ReadAllText("c:\test.txt");
Console.WriteLine(fileText);
}
答案 1 :(得分:6)
我使用过Nuget包NuGet Gallery | 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));
}
詹姆斯'下面的回答是在Nuget之前,之后他会在Nuget上下载最多的包。讽刺呃?
答案 2 :(得分:0)
您可以冒充具有必要权限的用户。有article on MSDN描述了如何执行此操作。