2010-04-30 14 views
7

In C# 2008, Sto provando a copiare un file in un percorso di destinazione (ad esempio \ newserver \ destinationFolder), che può essere in un altro dominio o utilizzando un nome utente/password diverso da quello dell'utente corrente. Come posso specificare queste nuove credenziali di rete prima di eseguire File.Copy (...)?C# copia il file in un'altra directory utilizzando altro dominio/nome utente/password

Grazie!

+1

possibile duplicato di http://stackoverflow.com/questions/158492/c-network-login –

risposta

2

Buona domanda ma non penso che sia possibile. Credo che questo tipo di copia di file da un dominio all'altro (dove non è impostato un trust) sarebbe considerato un buco di sicurezza.

Alcune opzioni:

  1. Impostare un trust tra i domini e dare i diritti per l'utente corrente
  2. Si potrebbe provare una shell dei comandi eseguire e vedere se è possibile fare questo lavoro attraverso i parametri della riga di comando. Stavo pensando al comando "Net use".
0

Mapdrive => file copia con nome utente locale => UnmapDrive. Date un'occhiata 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; 
    } 
Problemi correlati