我有一个使用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();
}