c# - 如何将文件保存为不同的用户

标签 c# winforms

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

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

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

最佳答案

你需要 ImpersonateUser称呼。请注意,您不能“仅仅”保存为该用户,您首先需要对该用户具有安全访问权限——否则如果任何人都可以伪装成其他任何人并使用 2 行代码,那将是一个安全漏洞!

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

关于c# - 如何将文件保存为不同的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17996054/

相关文章:

c# - 如何在 C# 2.0 中使用 XSLT 转换 XMLDocument

c# - linq to xml 的 vb.net 三点语法

c# - 关于如何记住.NET WinForm上以前的用户选择的想法

c# - 将 MyClass 的列表显示到 DataGridView

c# - 找不到有效的 DotNetBrowser 许可证。请确保您已正确设置许可证

c# - Active Directory RoleProvider -Principal.IsMemberOf 抛出PrincipalOperationException

c# - 是否可以将实时数据发送到 Bing 语音识别?

winforms - OnLoad 方法和 Load 事件之间的区别?

c# - TreeNode.EndEdit 与 NodeLabelEditEventArgs.CancelEdit

c# - 是否可以从 .NET 库代码中检测到不受控制的取消?