我的ASP.NET 2.0應用程序創建HTTPWebRequest
到公司內部網絡中的一個站點,該站點使用NTLM身份驗證。傳遞的憑據是一個服務帳戶,該帳戶在域認證成功(安全日誌證實了這一點)通過重定向驗證HttpWebRequest,持久性憑據?
一些縮寫代碼如下..
HttpWebRequest req = WebRequest.Create(queryUrl) as HttpWebRequest;
NetworkCredential cred = new NetworkCredential(username,
pwd, domain);
req.Credentials = cred;
HttpWebResponse response = req.GetResponse() as HttpWebResponse;
作爲請求的一部分,有一對夫婦(在同一個域中)到最終響應 - 在我的開發機器上處理OK(Windows 2k)
當從我的部署環境(Windows 2k3)創建此請求時,我得到一個401 Unauthorized錯誤返回從該網站,似乎在第一個重定向代碼返回(301移動)後,我的請求對象t嘗試遵循重定向。
所以基本上,有沒有人知道任何關於重定向遵循驗證的HttpWebRequests的問題?
PS - 最明顯的解決方法是簡單地請求重定向到的頁面 - 但我負責的內部網站的管理員要通過重定向我通過一個特定的頁面來監控我的應用程序的使用。
你看了您的網絡流量(例如使用Fiddler)以查看客戶端是否作出任何客戶端認證試圖重定向的最終目標? 未能自動向重定向服務器進行身份驗證可能是.NET內部的一項安全措施,可防止無意的憑據泄露。 – EricLaw 2009-07-18 18:09:47
我面臨同樣的問題,仍然無法解決問題。 http:// stackoverflow。com/questions/3562979/making-a-web-request-to-a-web-page-which-requires-windows-authentication – 2010-08-26 07:51:52