LogonUser, использующий LOGON32_LOGON_NEW_CREDENTIALS, работает на удаленном домене с ненадежным доменом

Таким образом, между двумя машинами нет доверия - они находятся в разных доменах.

Я успешно подключился к удаленному компьютеру, используя LogonUser API, используя тип входа в систему,LOGON32_LOGON_NEW_CREDENTIALS, Я могу получить содержимое каталога, используя общий ресурс UNC, и создать поток файлов для его загрузки. Все идет нормально.

Единственная проблема заключается в том, что, по-видимому, LogonUser дает сбой, если нет уже открытого сеанса. Позвольте мне уточнить это.

Я обнаружил, что страница ASP.NET MVC не работала этим утром, в частности, страница, которая получает список файлов с этого удаленного компьютера, используя LogonUser. Я смотрю на журнал и вижу в стеке трассировки,System.IO .__ Error.WinIOError вышеDirectory.GetFiles вызов. Затем я переместился на веб-сервер и попытался открыть удаленную папку в проводнике, используя тот же логин / пароль, который использовался веб-сайтом. Это прошло, и я мог видеть файлы. Я открыл командную строку, введитечистое использование, и я вижу, что есть открытое соединение с удаленной машиной. Затем я вернулся на страницу, и вдруг страница снова работает.

Поэтому на данный момент я не совсем уверен, работает ли LogonUser так, как ожидается, или нет. Если вызов требует, чтобы сетевое соединение было сначала открыто другими средствами, то это, безусловно, не является удовлетворительным.

Кто-нибудь знает, что может происходить или предлагает обходной путь?

Ответы на вопрос(2)

Ваш ответ на вопрос