2011-07-14 45 views
5

我使用Active Directory和ADFS 2.0設置測試Server 2008盒。我有一個使用WIF聯合身份的ASP.NET應用程序。 ADFS被配置爲使用Active Directory作爲身份信息。我使用WIF將客戶端應用程序配置爲使用ADFS端點。ADFS 2.0 - 如何調試「401 - 未經授權」

當我嘗試從瀏覽器以用戶的身份加載ASP.NET應用程序時,我被重定向到ADFS端點並提示輸入憑據。我試圖用多個用戶帳戶登錄,甚至重置密碼,但憑據似乎從未正確,並返回401 Unauthorized。我可以使用相同的憑據成功登錄到其他系統。

我已經在詳細模式下啓用了調試跟蹤並啓用了詳細模式下的審計,但是我找不到任何錯誤或信息來幫助我找出問題所在。

如何獲取更多信息以縮小問題範圍?

UPDATE:

我發現,這個問題是由我的測試環境造成的。我的開發機器在我們的公司域名(acme.com)上。我爲測試域控制器(notacme.com)和Web服務器創建了兩個2008R2 VM。

如果我嘗試從acme.com域上的計算機訪問網站,則會出現上述錯誤。如果我嘗試通過notacme.com域上的計算機訪問網站,它可以正常工作。

如何從acme.com域上的計算機訪問網站?

+0

您的ADFS身份驗證模式是如何配置的?表單還是集成? – shizik

+0

我認爲它是集成配置。我怎樣才能確定? – chief7

+1

集成模式在IE以外的瀏覽器中不起作用。您可以檢查網絡中的配置。adfs web應用程序的配置文件,通常位於microsoft.identityServer配置部分的C:\ inetpub \ adfs \ ls中。 – shizik

回答

5

顯然,這是通過引起ADFS中內置的擴展保護功能。在試圖解決這個問題時,我讓Fiddler運行來跟蹤請求/響應,但是在某一時刻,我發誓我將它關閉以進行測試,但它仍然無法工作。顯然我沒有完全刪除Fiddler代理,因爲在IE重新啓動後,Fiddler沒有運行它在IE中工作,但發現它仍然無法在Firefox或Chrome中運行。這讓我看到了一篇TechNet文章,其中描述了我使用Fiddler看到的行爲。

http://social.technet.microsoft.com/wiki/contents/articles/ad-fs-2-0-continuously-prompted-for-credentials-while-using-fiddler-web-debugger.aspx

0

根據我的經驗,IIS(包括AD FS)中的每個登錄失敗在「安全」事件日誌中都記錄爲「審計失敗」事件,其中包含更多詳細信息。所以我會在AD FS系統的事件查看器中進行搜索,然後查看這些事件的說明。同樣在事件查看器中,查看「應用程序和服務日誌」 - >「AD FS 2.0」 - >管理事件日誌。

看起來您嘗試查看HTTP流量,例如使用Fiddler。那很好。我認爲當提琴手不使用時也會出現問題?

(你也許有重複登錄表單的問題,畢竟你輸入正確的用戶名和密碼,然後看看下面的回答:?ADFS authentication - IE8 works, Chrome fails

(我還看到的情況初始認證是成功的,從而導致「審覈成功」事件,然後401導致從後重定向。此外,在這種情況下,AD FS系統上的事件日誌的幫助。)

+0

我沒有看到任何這些日誌中的任何故障。有任何想法嗎? – chief7

+0

因此,您在AD FS系統上的安全事件日誌中看不到「審覈成功」並且沒有「審覈失敗」事件,這與您嘗試登錄失敗的時間相對應?如果是這樣,那麼我很茫然。根據我的經驗,這些事件總是存在的,至少如果AD FS安裝正確(似乎是,因爲它看起來像從另一個Web應用程序成功使用這個AD FS實例)。 此外,如建議,看看HTTP流量。 –

+0

不,我看到審覈成功的消息。如果我輸入了錯誤的密碼,我會看到審覈失敗。我還看到Kerberos服務票據操作和Kerberos身份驗證服務事件。無論哪種方式,我不斷提供憑據輸入彈出窗口和401. – chief7

相關問題