Iis

IIS 中的 Kerberos 身份驗證與域身份下的 .NET 應用程序不起作用

  • August 24, 2010

嘗試讓 .NET Web 應用程序成功使用 Kerberos 身份驗證,真是費了一番周折,希望 SF 社區提供一些幫助。

目前有一個 Win2003/IIS6 伺服器在預設的“網路服務”應用程序池之外託管一個網站。基於 MS如何創建服務帳戶頁面,我執行了以下步驟:

  1. 創建了一個新的域帳戶MYDOMAIN\CustomASP
  2. 在伺服器上註冊了帳戶aspnet_regiis -ga MYDOMAIN\CustomASP
  3. 在域帳戶上HTTP/SERVERNAME創建了新的 SPNHTTP/SERVERNAME.fqdn.here
  4. 做了一個以身份MyPool執行的應用程序池MYDOMAIN\CustomASP
  5. 創建了一個MyASP在新應用程序池中執行的新虛擬目錄
  6. 確保它SERVERNAME在 Intranet 區域中,並且 IE 啟用了 IWA

根據我所讀到的,這就是所有必要的。現有站點正在使用 Kerberos,並且執行良好;但是嘗試瀏覽到http://servername/MyASP會導致記錄失敗的登錄嘗試,並且使用空白使用者名將事件 529 寫入安全日誌。

NTLM 身份驗證適用於此(通過關閉 IE 的 IWA 或通過 IP 地址訪問伺服器進行測試),但 Kerberos 將無法正常工作。我可以選擇強制 NTLM 並要求虛擬目錄使用 SSL,但這似乎是解決此問題的“醜陋黑客”方式。當然,由於史詩般的睡眠不足,我只是在這裡的程序中遺漏了一些明顯的步驟。

任何幫助、建議或曾經在這裡修復它的人的故事將不勝感激。提前致謝。

幾件事要嘗試

  1. 使用 destkop IE。基於伺服器的 IE 的執行方式不同

2)檢查您的桌面更新檔:

  1. 檢查您的 SPN

SETSPN -L MYDOMAIN\CustomASP

  1. 檢查您的元數據庫

cscript adsutil.vbs 設置 w3svc/1/NTAuthenticationProviders “協商,NTLM”

  1. 打開Kerberos 日誌記錄

您是否在 web.config 文件中啟用了模擬?

如果您點擊您連結的文章的“其他資源”部分中的連結 ( http://msdn.microsoft.com/en-us/library/ms998351.aspx ),它將討論在 ASP.NET 中啟用模擬。

引用自:https://serverfault.com/questions/172754