2012-09-13 52 views
0

我有一個使用Active Directory聯合身份驗證服務對用戶進行身份驗證的網站。我想在代碼中使用HttpWebRequest類訪問網站的URL。但是當我嘗試時,我收到了401錯誤。經過一番研究,我發現它使用NTLM身份驗證。我試過this solution。但是我看到,我得到的響應是一個帶有一些隱藏字段的HTML頁面,並且它有一個JavaScript負載提交頁面。操作網址將是我的網域的網址。我試圖手動提交HTML文本作爲表單,但我又得到了相同的響應。不太確定我如何訪問該頁面。任何人都有一個想法?使用HttpWebRequest支持Active Directory聯合身份驗證服務的訪問鏈接

回答

0

過去幾天我一直在處理這樣的問題。嘗試很多事情之後,我終於使出了以下方法:

  1. 創建System.Net.CookieContainer對象,並把它傳遞給每一個在HttpWebRequest的的CookieContainer。
  2. 手動解析表單元素並將它們作爲RequestStream傳遞給表單的目標。這必須以POST方式完成,而不是通過httpwebrequest完成。
  3. 對於任何連續的請求,請確保您附加相同的CookieContainer。您的身份驗證ADFS cookie存儲在哪裏。如果沒有他們,你只會遇到無限循環。

Regards

相關問題