如何将文件另存为其他用户

时间:2013-08-01 13:54:43

标签: c# winforms

是否可以以登录用户身份运行Windows窗体应用程序,但是使应用程序使用不同的用户凭据保存文件?

我知道以下内容不正确,但我的意思是这样的:

var userWithPrivileges = new NetworkCredential(userName, password);
File.Copy(sourceFileName, destFileName, overwrite: true, userWithPrivileges);

1 个答案:

答案 0 :(得分:5)

您需要ImpersonateUser来电。请注意,您不能“只是”保存为该用户,您首先需要对该用户具有安全访问权限 - 如果任何人可以伪装成其他任何有2行代码的人,那么这将是一个相当大的安全漏洞!

因此,您需要一个代表该用户的安全访问令牌,通常是通过调用LogonUser获得的,MSDN链接提供了示例代码。