2012-03-23 4 views
0

ich Webclient verwenden, um einen Web-Service zu rufen, gebe ich Benutzernamen & Passwort als Basis authorizaiton in webclient-Header. Die Anforderung wird an eine andere URL umgeleitet, aber grundlegende Autorisierungsinformationen sind nicht im Header der umgeleiteten Anforderung enthalten, daher erhalte ich 401 nicht autorisierten Fehler. So, wie Autorisierungsinformationen im Anforderungsheader beim Umleiten behalten? Dank bemerke ich die Genehmigung tatsächlich in Cookies durchgeführt wirdwebclient, wie grundlegende Zulassung zu behalten, wenn Umleitung

I C# verwende, .NET 4.0, VS2010

Antwort

1

webclient Ihre Kundenauthentifizierungs Header abstreift, und das aus gutem Grund! Wenn Sie weitergeleitet werden an Wer weiß wo?, Sie möchten sicherlich nicht Ihre Authentifizierungsinformationen senden!

Wenn Sie im selben Verzeichnis irgendwo umgeleitet werden immer (ich glaube?), Dann können Sie

Request.PreAuthenticate = true 

aber Chancen nutzen sind, dass Sie Ihr Programm einrichten müssen, um die Umleitung manuell zu handhaben, und Verwenden Sie dann eine Webclient-Anforderung, um eine Verbindung zum richtigen Server herzustellen.

+0

Danke, ich habe es eingestellt, aber immer noch 401 Fehler. Ja, das gleiche Verzeichnis des gleichen Servers – toosensitive

+0

Webclient ist wahrscheinlich zu hoch für das, was Sie dann tun wollen. Ich würde in die Verwendung von HttpWebRequest –

+0

Ich benutze httpwebrequest, setzen PreAuthenticate = True, immer noch nicht arbeiten. Vielen Dank – toosensitive