Открыть / закрыть соединение с UNC без учетных данных - PullRequest
1 голос
/ 22 октября 2009

У меня есть клиентское приложение .NET, которое периодически теряет соединение с общим ресурсом UNC, где пользователь находится в домене или имеет локальную учетную запись с такими же учетными данными на сервере. И у SO, и у Google есть множество примеров использования LogonUser и WNetAddConnection через P-Invoke, но оба требуют пароль пользователя. Все, что нужно нашему приложению - это явно открыть соединение с UNC, скопировать файл и явно закрыть соединение, не предоставляя учетные данные - другими словами, используя текущие учетные данные. Кто-нибудь может указать мне правильное направление о том, как сделать это в C #?

1 Ответ

1 голос
/ 25 октября 2009

В соответствии с документацией функции WNetAddConnection2 вы можете передать Null для имени пользователя, чтобы использовать пользовательский контекст текущего процесса. Я предполагаю, что это означает, что он будет использовать контекст безопасности учетной записи, на которой запущено ваше клиентское приложение. MSDN также сообщает, что необходимо ввести Null для пароля, чтобы использовать пароль, связанный с любым указанным именем пользователя.

Может быть, установка обоих значений на Null просто волшебным образом сработает.

...