在c#2008中, 我正在尝试将文件复制到目标路径(例如\ newserver \ destinationFolder),该路径可以在另一个域中,也可以使用与当前用户不同的用户名/密码。如何在执行File.Copy(...)之前指定这些新的网络凭据?
谢谢!
答案 0 :(得分:2)
好问题,但我不认为这是可能的。我相信从一个域到另一个域(没有信任设置)的这种类型的文件复制将被视为安全漏洞。
一些选项:
答案 1 :(得分:1)
查看LogonUser。这是它的pinvoke页面:
答案 2 :(得分:0)
MapDrive =>将文件复制为本地用户=> UnmapDrive。看看here:
protected int MapDrive(){
NETRESOURCEA[] resources = new NETRESOURCEA[1];
resources[0] = new NETRESOURCEA();
resources[0].dwType = 1;
int dwFlags = 1;
resources[0].lpLocalName = _DriveLetter;
resources[0].lpRemoteName = _Path;
resources[0].lpProvider = null;
int ret = WNetAddConnection2A(resources, null, null, dwFlags);
return ret;
}
protected int UnmapDrive()
{
int ret = WNetCancelConnection2A(_DriveLetter, 0, true);
return ret;
}