2009-10-21 48 views
2

背景(只是相關的部分): 我們有一個大的intranet asp.net 2.0/3.5應用程序。
Web服務器是AD域中的Windows Server 2003。
客戶端在Windows,IE 6-8。 Windows身份驗證,使用從Windows身份創建的自定義主體。 Web服務器位於將用戶轉發到特定Web服務器的F5 NLB後面。 (這是因爲我們公司的F5處理有Kerberos的限制)。 沒有系統範圍的問題,例如丟棄會話,超時或超載服務器,一切運行良好。ASP.net kerberos零星地下降到NTLM

一件功能需要委託 - 我們使用域/ Web服務器給予我們的Kerberos令牌連接到網絡文件共享,作爲經過驗證的用戶。

SPN,ACL等似乎設置正確。

99%的時間,這一切正常。我們看到的問題是每隔一段時間刷新一次,令牌從kerberos下降到ntlm。我可以看到在顯示一個電話得到這個Web服務器的事件日誌登錄:

登錄過程:Kerberos身份 身份驗證包:Kerberos

和隨後的電話(通常在10個或20的頁面加載)得到這個:

登錄進程:NtLmSsp 身份驗證數據包:NTLM

任何人有任何見解,以什麼可能會使得後續的回傳有時候去NTLM?

謝謝!

回答

2

您需要確定問題的所有工具和技巧都在Troubleshooting Kerberos Errors。那份文件從未讓我失望。

NTLM回退
您可能會發現 安全日誌中記錄 事件使用NTLM時 應該使用Kerberos身份驗證 已發生的登錄發生。

問題
有些情況下,這可能會發生2種 情況:
- 第一種情況是 系統嘗試使用認證的 Kerberos協議在那裏,但它失敗。如果結果爲 ,則系統嘗試使用NTLM對 進行身份驗證。 Windows Server 2003,Windows XP和Windows 2000使用稱爲Negotiate (SPNEGO)的算法來協商使用哪種認證協議。 雖然Kerberos協議默認爲 ,但如果默認失敗,則協商將嘗試NTLM。
- 第二個 情況是其中對 協商的調用返回NTLM作爲唯一可用的 協議。

確認
的 第一種情況會導致 失敗是 您可以通過網絡監視器捕獲的事件日誌或數據包 檢查 錯誤調查Kerberos身份驗證。 這兩種調查方法是 在本文後面討論...

+0

好,以前沒有見過。謝謝! – 2009-10-21 17:20:54