2010-04-30 7 views
7

In C# 2008, J'essaie de copier un fichier dans un chemin de destination (par exemple \ newserver \ destinationFolder), qui peut être dans un autre domaine ou en utilisant un nom d'utilisateur/mot de passe différent de celui de l'utilisateur actuel. Comment puis-je spécifier ces nouvelles informations d'identification réseau avant de faire le File.Copy (...)?C# copie le fichier dans un autre répertoire en utilisant un autre domaine/nom d'utilisateur/mot de passe

Merci!

+1

double possible de http://stackoverflow.com/questions/158492/c-network-login –

Répondre

2

Bonne question mais je ne pense pas que ce soit possible. Je crois que ce type de copie de fichier d'un domaine à un autre (où il n'y a pas de configuration de confiance) serait considéré comme un trou de sécurité.

Certaines options:

  1. Mise en place d'une confiance entre les domaines et donnent des droits à l'utilisateur actuel
  2. Vous pouvez essayer une commande exécuter Shell et voir si vous pouvez faire ce travail grâce à des paramètres de ligne de commande. Je pensais à la commande "Net use".
0

MapDrive => Copier les fichiers comme utilisateur local => UnmapDrive. Jetez un oeil 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; 
    } 
Questions connexes