C#使用其他域/用户名/密码将文件复制到另一个目录

在C#2008中,我试图将文件复制到目标路径(例如 newserver destinationFolder),该目标路径可以位于另一个域中或使用与当前用户不同的用户名/密码。 如何在执行File.Copy(...)之前指定这些新的网络凭证?

谢谢!


好问题,但我不认为这是可能的。 我相信这种类型的文件从一个域复制到另一个域(没有建立信任关系)将被视为安全漏洞。

一些选项:

  • 建立域之间的信任关系并赋予当前用户权限
  • 你可以尝试一个Shell执行命令,看看你是否可以通过命令行参数来完成这个工作。 我在想“网络使用”命令。

  • 看看LogonUser。 这里是它的pinvoke页面:

    http://www.pinvoke.net/default.aspx/advapi32.logonuser


    MapDrive =>将文件复制为本地用户=> UnmapDrive。 看看这里:

        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;
        }
    
    链接地址: http://www.djcxy.com/p/919.html

    上一篇: C# copy file to another directory using other domain/username/password

    下一篇: String Length Evaluating Incorrectly