C# копируют файл в другой каталог с помощью другого домена/имени пользователя/пароля

В c# 2008 я пытаюсь скопировать файл в целевой путь (например, \newserver\destinationFolder), который может быть в другом домене или использовании другого имени пользователя/пароля, чем текущий пользователь. Как я могу указать эти новые сетевые учетные данные прежде, чем сделать Файл. Копия (...)?

Спасибо!

7
задан Cedric 30 April 2010 в 13:47
поделиться

3 ответа

Хороший вопрос, но я не думаю, что это возможно. Я считаю, что такой тип копирования файлов из одного домена в другой (где нет доверительных отношений) будет считаться дырой в безопасности.

Некоторые варианты:

  1. Установите доверие между доменами и дайте права текущему пользователю
  2. Вы можете попробовать выполнить команду Shell и посмотреть, сможете ли вы заставить это работать через параметры командной строки. Я думал о команде "Net use".
2
ответ дан 7 December 2019 в 16:40
поделиться

Посмотрите на LogonUser. Вот страница pinvoke для него:

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

1
ответ дан 7 December 2019 в 16:40
поделиться

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;
    }
0
ответ дан 7 December 2019 в 16:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: