Ich muss einen Webdienst aufrufen, der in einer Windows-Domäne ausgeführt wird, die sich von der unterscheidet, auf der der (Windows Forms) -Client ausgeführt wird. Der Webdienst wird mithilfe der Windows-Authentifizierung gesichert.So rufen Sie einen Webdienst mit gespeicherten Anmeldeinformationen auf?
Die Domänenanmeldeinformationen für die Domäne des Webdienstes werden im Benutzerprofil des Clients gespeichert (gespeicherte Benutzernamen und Kennwörter in XP), aber ich konnte nicht herausfinden, wie diese gespeicherten Anmeldeinformationen beim Aufruf des Webdiensts verwendet werden. Ich habe viele Beispiele gefunden mit
WebService1.Credentials = System.Net.CredentialCache.DefaultCredentials
(dies nicht funktioniert, weil es die Anmeldeinformationen für die lokale Domäne ist)
oder
WebService1.Credentials = new NetworkCredentials(username, pwd, domain)
(waren der Benutzername, Passwort, Domäne sind fest codiert).
Ich habe über die Verwendung CredEnumerate
und CredRead
mit dem Windows-API lesen, aber nicht wissen, wie (oder ob) ich ein PCREDENTIAL
auf einen verwaltetes umwandeln kann NetworkCredential
(ReadCred
wird nicht zurückkehren Passwörter für gespeicherte Domänenanmeldeinformationen)
Kann jemand hier auf SO wissen, wie man das macht?
Danke!