0

下面的代码将向 IIS 基本授权站点发布请求。并使用 Windows 凭据成功登录该站点。但我需要做的是将其转换为在浏览器中打开网站,就像打开一个带有 target="null" 的新超链接一样。

回顾一下,如何将 WebRequest 发布到新的浏览器选项卡?或者如何将 CredentialCache 发送到新的 URL 请求?

 var request = WebRequest.Create(testURL);
    SetBasicAuthHeader(request, "username", "password", testURL);

    var response = request.GetResponse();

}

public void SetBasicAuthHeader(WebRequest request, String userName, String userPassword, String testURL)
{

    CredentialCache credentialCache = new CredentialCache();
    credentialCache.Add(new System.Uri(testURL), "Basic", new NetworkCredential(userName, userPassword, "domain"));
    request.Credentials = credentialCache;
    request.PreAuthenticate = true;

}
4

1 回答 1

0

简短的回答是,您不能向新标签发送回复。您尝试做的问题是您在服务器上构建的请求/响应在技术上是服务器的......而不是客户端。因此,即使您构建请求并将用户重定向到您刚刚进行身份验证的 URL,客户端仍然被视为未经身份验证,因为身份验证在服务器上生效。

于 2013-04-29T14:12:35.423 回答