Das konsumieren eines web service über einen internet-proxy-server, mit einem WCF-client in C#; Bereitstellung von proxy-server-Authentifizierung
Habe ich ein client-Programm, das einen web service nutzt. Es funktioniert ganz gut in einer Reihe von Installationen. Jetzt habe ich eine situation, wo ein neuer Kunde eine Verbindung zum internet über einen proxy-server, und mein Programm ist der Versuch, den Zugriff auf den web service wird die "HTTP-status 407: Proxyauthentifizierung erforderlich" - Fehler.
Dachte ich, dass alle die die Konfiguration des internet-Zugangs, einschließlich proxy-server-Adresse, port-Nummer und die Authentifizierung wäre man in der Systemsteuerung die Internet-Optionen, und, die würde ich nicht zu befürchten, dass in den code, oder auch in der app.Konfiguration der Web-Service-client.
Habe ich alles falsch?
Was ich getan haben in der Zwischenzeit ist geben Sie dem Benutzer die Möglichkeit, konfigurieren Sie den proxy-Benutzernamen und Passwort, und dann in meinem code, mit dem ich Folgendes tun:
webServiceClient.ClientCredentials.UserName.UserName = configuredUsername;
webServiceClient.ClientCredentials.UserName.Password = configuredPassword;
Aber ich weiß nicht, dass dies der richtige Weg ist. Denn es scheint mir, dass die oben ClientCredentials finden würde, um die web-service-binding/Sicherheit, nicht auf der internet-proxy-server.
Ich glaube, ich kann versuchen es auf den Kunden, aber ich möchte lieber sicher sein was ich mache ersten.
InformationsquelleAutor Peter | 2009-11-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich herausgefunden, wie dieses Ding, mit Hilfe von einem Beitrag zu einem anderen forum, die in der Flut der Versuch, alle möglichen Dinge, die ich vergessen habe. Vielen Dank, jetzt vergessenen person.
Hier ist der code, der funktionierte, am Ende (passend verkleidet, gibt aber die richtige Idee):
Diese Lösung funktioniert, wenn der Dienst-und proxy müssen die gleichen Anmeldeinformationen, aber wenn beide erfordern Anmeldeinformationen von Ihrem eigenen dann zum festlegen der Anmeldeinformationen. Im Fall von NTLM-authentifizierter proxy ist, welche änderungen vorgenommen werden müssen?
und ajay: tut mir Leid, kann ich nicht wirklich beantworten, ohne dabei eine ganze Menge Forschung. Ich schaffte es, meine Lösung funktioniert übrigens wieder 5 Jahre her, und sah noch nie auf diese Art der Sache wieder da dann.
Vielleicht ist die Antwort auf zwei verschiedenen Authentifizierungen zu verwenden, so etwas wie ein basic-auth-token in den header Ihrer Anfrage, anstatt die user/pass direkt?
InformationsquelleAutor Peter