Iis
IIS 中的 Kerberos 身份驗證與域身份下的 .NET 應用程序不起作用
嘗試讓 .NET Web 應用程序成功使用 Kerberos 身份驗證,真是費了一番周折,希望 SF 社區提供一些幫助。
目前有一個 Win2003/IIS6 伺服器在預設的“網路服務”應用程序池之外託管一個網站。基於 MS如何創建服務帳戶頁面,我執行了以下步驟:
- 創建了一個新的域帳戶
MYDOMAIN\CustomASP
- 在伺服器上註冊了帳戶
aspnet_regiis -ga MYDOMAIN\CustomASP
- 在域帳戶上
HTTP/SERVERNAME
創建了新的 SPNHTTP/SERVERNAME.fqdn.here
- 做了一個以身份
MyPool
執行的應用程序池MYDOMAIN\CustomASP
- 創建了一個
MyASP
在新應用程序池中執行的新虛擬目錄- 確保它
SERVERNAME
在 Intranet 區域中,並且 IE 啟用了 IWA根據我所讀到的,這就是所有必要的。現有站點正在使用 Kerberos,並且執行良好;但是嘗試瀏覽到http://servername/MyASP會導致記錄失敗的登錄嘗試,並且使用空白使用者名將事件 529 寫入安全日誌。
NTLM 身份驗證適用於此(通過關閉 IE 的 IWA 或通過 IP 地址訪問伺服器進行測試),但 Kerberos 將無法正常工作。我可以選擇強制 NTLM 並要求虛擬目錄使用 SSL,但這似乎是解決此問題的“醜陋黑客”方式。當然,由於史詩般的睡眠不足,我只是在這裡的程序中遺漏了一些明顯的步驟。
任何幫助、建議或曾經在這裡修復它的人的故事將不勝感激。提前致謝。
幾件事要嘗試
- 使用 destkop IE。基於伺服器的 IE 的執行方式不同。
2)檢查您的桌面更新檔:
- CNAME
- 最大令牌大小
- LongTerm Token Expiration(是的,它說明了 SmartCard 問題,但它修復了其他 Kerberos 問題)
- 檢查您的 SPN
SETSPN -L MYDOMAIN\CustomASP
- 檢查您的元數據庫
cscript adsutil.vbs 設置 w3svc/1/NTAuthenticationProviders “協商,NTLM”
您是否在 web.config 文件中啟用了模擬?
如果您點擊您連結的文章的“其他資源”部分中的連結 ( http://msdn.microsoft.com/en-us/library/ms998351.aspx ),它將討論在 ASP.NET 中啟用模擬。