Мне нужно вызвать веб-службу, работающую в домене Windows, который отличается от того, в котором работает клиент (Windows Forms). Веб-служба защищена с помощью проверки подлинности Windows.
Учетные данные домена для домена веб-службы сохраняются в профиле пользователя клиента (сохраненные имена пользователей и пароли в XP), но я не смог выяснить, как использовать эти сохраненные учетные данные при вызове веб-службы. Я нашел много примеров использования
WebService1.Credentials = System.Net.CredentialCache.DefaultCredentials
(это не работает, потому что это учетные данные для локального домена)
или
WebService1.Credentials = new NetworkCredentials(username, pwd, domain)
(были жестко заданы имя пользователя, пароль, домен).
Я прочитал об использовании CredEnumerate
и CredRead
с использованием Windows API, но не знаю, как (или если) я могу преобразовать PCREDENTIAL
в управляемый NetworkCredential
(ReadCred
вон) вернуть пароли для сохраненных учетных данных домена)
Кто-нибудь здесь на SO знает, как это сделать?
Спасибо!