[英]Posting Credentials to a basic authorization site and opening the link in a new browser. Open URL instead of a response
下面的代碼將向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;
}
簡短的答案是,您無法將響應發送到新標簽頁。 您嘗試執行的操作的問題是,從技術上講,您在服務器上構建的請求/響應是服務器的...而不是客戶端。 因此,即使您構建請求並將用戶重定向到您剛剛通過身份驗證的URL,該客戶端仍被認為是未經身份驗證的,因為身份驗證在服務器上生效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.