Ich habe eine ASPX-Seite (auf Server A), die mit NTLM-Anmeldeinformationen aufgerufen wird. Ein Teil des Jobs dieser Seite besteht darin, eine HTML-Seite (auf Server B) aufzurufen und sie an den Client zurückzugeben. (Die Firewall ermöglicht den Zugriff auf A, aber nicht auf B. Der Benutzer erhält normalerweise Zugriff auf beide Server.). Server B ist auch nicht für anonymen Zugriff geöffnet, daher muss ich Anmeldeinformationen angeben.Abrufen der NTLM-Anmeldeinformationen von der Antwort auf einer APSX-Seite
Wenn ich einige Anmeldeinformationen (wie im angehängten Code) fest codieren, funktioniert es, aber im Idealfall würde ich die Anmeldeinformationen, die von der ASPX-Seite empfangen wurden. Gibt es eine Möglichkeit, diese NetworkCredentials zu erhalten, damit ich sie weitergeben kann?
protected void Page_Load(object sender, EventArgs e) {
Response.Clear();
WebClient proxyFile = new WebClient();
CredentialCache cc = new CredentialCache();
cc.Add(new Uri("http://serverB/"), "NTLM",
new NetworkCredential("userName", "password", "domain"));
proxyFile.Credentials = cc;
Stream proxyStream = proxyFile.OpenRead("http://serverB/Content/webPage.html");
int i;
do {
i = proxyStream.ReadByte();
if (i != -1) {
Response.OutputStream.WriteByte((byte)i);
}
} while (i != -1);
Response.End();
}