NTLM資格情報を使用して呼び出されるASPXページ(サーバー上)があります。そのページの仕事の一部は、HTMLページ(サーバーB上)を呼び出して、それをクライアントにプロキシすることです。 (ファイアウォールはAへのアクセスを許可しますが、Bへのアクセスは許可しません。通常、ユーザーは両方のサーバーへのアクセスを許可されます)。サーバーBは匿名アクセスにもオープンしていないため、資格情報を提供する必要があります。APSXページの応答からNTLM資格情報を取得
(添付のコードに従って)一部の資格情報をハードコードすると機能しますが、理想的には.aspxページで受け取った資格情報をエコーします。それらを渡すことができるようにそれらのNetworkCredentialsを取得するいくつかの方法はありますか?
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();
}