en C # 2008, J'essaie de copier un fichier sur un chemin de destination (par exemple \ Newserver \ DestinationFolder), qui peut être dans un autre domaine ou à l'aide d'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 du réseau avant de faire le fichier.copy (...)? P>
Merci! P>
3 Réponses :
bonne question mais je ne pense pas que cela soit possible. Je crois que ce type de copie de fichier d'un domaine à un autre (où il n'ya pas de configuration de confiance) serait considéré comme un trou de sécurité. P>
Certaines options: p>
Regardez sur Logonuser. Voici la page Pinvoke pour cela: p>
MapDrive => Copier des fichiers en tant qu'utilisateur local => UnmapDrive. Jetez un look ici :
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; }
Dupliqué possible de Stackoverflow.com/questions/158492/c-network-login
Lié ou en double: Comment fournir un nom d'utilisateur et un mot de passe lors de la connexion à un partage réseau , FichiersCopie avec authentification en C # , Copie de fichiers sur le réseau (nécessitant une authentification ) .