是否可以以登录用户身份运行 Windows 窗体应用程序,但让应用程序使用不同的用户凭据保存文件?
我知道以下内容是不正确的,但我的意思是这些方面的内容:
var userWithPrivileges = new NetworkCredential(userName, password);
File.Copy(sourceFileName, destFileName, overwrite: true, userWithPrivileges);
您需要ImpersonateUser调用。请注意,您不能“仅”保存为该用户,您首先需要对该用户具有安全访问权限 - 否则如果有人可以用两行代码假装是其他任何人,这将是一个相当大的安全漏洞!
因此,您需要一个代表该用户的安全访问令牌,通常通过调用 LogonUser 获得,MSDN 链接提供了示例代码。