簡體   English   中英

將憑據發布到基本授權站點,然后在新的瀏覽器中打開鏈接。 打開URL而不是響應

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM