NTLM 자격 증명을 사용하여 호출되는 ASPX 페이지 (서버 A)가 있습니다. 해당 페이지의 작업 중 일부는 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();
}