У меня есть клиентское приложение .NET, которое периодически прерывает соединение с UNC-ресурсом, где пользователь находится либо в домене, либо имеет локальную учетную запись с одинаковыми учетными данными на сервере. И SO, и Google имеют множество примеров использования LogonUser и WNetAddConnection через P-Invoke, но оба требуют пароль пользователя. Все, что требуется нашему приложению, - это явно открыть соединение с UNC, скопировать файл и явно закрыть соединение без предоставления учетных данных - другими словами, с использованием текущих учетных данных. Может ли кто-нибудь указать мне в правильном направлении, как это сделать на C#?Открытое/закрытое соединение с UNC без учетных данных
1
A
ответ
1
В соответствии с документацией функции WNetAddConnection2 вы можете передать Null для имени пользователя, чтобы использовать контекст пользователя для текущего процесса. Я предполагаю, что это означает, что он будет использовать контекст безопасности учетной записи, запускающей ваше клиентское приложение. MSDN также говорит, чтобы передать в Null пароль для использования пароля, связанного с любым именем пользователя.
Возможно, установка на Null будет просто волшебной работой.
Смежные вопросы
- 1. Почему соединение Redis работает с C# без указания учетных данных?
- 2. netTcpBinding без учетных данных Windows?
- 3. Сессия WCF без учетных данных
- 4. Соединение базы данных Foxpro в PHP по пути UNC
- 5. Загрузите видео youtube без учетных данных пользователя
- 6. Обеспечение аутентификации клиента/сервера без учетных данных
- 7. Подключение к объявлениям без учетных данных
- 8. Почтовая рассылка без учетных данных C#
- 9. активная аутентификация каталога без учетных данных java
- 10. Проверка Google Кошелька без учетных данных продавца
- 11. Использование учетных данных PowerShell без запроса пароля
- 12. Подключение к SQL Azure без учетных данных?
- 13. Получение видеоаналитической информации без учетных данных
- 14. Назначение учетных данных для CloudFormation без конструктора
- 15. SQL-соединение без потери данных
- 16. Соединение Guice и JDBC в зависимости от учетных данных
- 17. программирование рубинового сокета с использованием учетных данных
- 18. iOS: Как сделать безопасное соединение HTTPS для передачи учетных данных?
- 19. Безопасный REST API без аутентификации пользователя (без учетных данных)
- 20. Как получить HTTP-соединение SSIS «использовать прокси» для работы без учетных данных
- 21. IBM.XMS MQ Listener Ошибка 2063 или как создать соединение без учетных данных
- 22. Как получить твиты с использованием Twitter4J без учетных данных?
- 23. Развертывание Azure-сайта с Git без учетных данных
- 24. Чтение журнала событий с удаленного компьютера без передачи учетных данных
- 25. Шифрование учетных данных базы данных
- 26. Как установить общий источник данных без учетных данных в SSRS
- 27. Сохранение учетных данных с sharedpreferences
- 28. Сброс базовых учетных данных с помощью AFNetworking
- 29. Чтение учетных данных Windows
- 30. Подсказка для учетных данных для CreateFile
Спасибо за ответ, Крис. Я нашел эту часть документов и фактически попробовал это, прежде чем вы отправили сообщение. Кажется, что он работает, поскольку при передаче значения null не возникает ошибки, но мне сложно проверить, что соединение закрыто после вызова WNetCancelConnection2. Есть ли что-то, что я должен искать на сервере? – flipdoubt
На сервере единственное, что приходит в голову, - это перейти в «Управление компьютером» и перейти в «Системные инструменты» -> «Общие папки» -> «Открыть сеансы» и посмотреть, есть ли доказательства подключения клиента к данному ресурсу. Если на сервере работает Windows 2008, вы можете запустить оснастку «Управление общим доступом и хранилища», чтобы увидеть ту же информацию. Я предполагаю, что сеанс появится для данного пользователя во время копирования файла, а затем исчезнет вскоре после вызова WNetCancelConnection2. Я всегда устанавливаю последний параметр этой функции в 1 для принудительного отключения. –