我被这个问题困住了。
我有 UNC 共享,我知道帐户详细信息,它具有完全访问权限,但它无权访问我的本地系统。我可以通过以下方式访问远程 UNC:
var token = default(IntPtr);
var context = default(WindowsImpersonationContext);
LogonUser(_config.Username, _config.Domain, _config.Password, 2, 0, out token);
context = WindowsIdentity.Impersonate(token);
//TODO :: System.IO operations
File.Copy("remote-unc-path","local-path",true); // Exception : Access is denied.
context.Undo();
CloseHandle(token);
但是,在模拟期间我无法访问我的本地系统,因为帐户无权访问它。
在这种情况下如何复制文件?我是否需要使用缓冲区之类的东西并打开/关闭模拟?