4
我有以下配置:的ASP.NET Web API - NTLM身份驗證和HTTPS
- 自託管的ASP.NET Web API
- ASP.NET MVC 3 Web應用程序
網站app [2]通過HTTPS與Web API [1]交流。 他們兩個(現在)住在同一臺機器上。
HTTP訪問的Web API結合[1],配置這樣的:
httpBinding.Security.Mode = HttpBindingSecurityMode.Transport;
httpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
httpBinding.TransferMode = TransferMode.Streamed
我不能使它工作使用HTTPS和NTLM授權。
- 如果我通過純HTTP進行通信它的工作原理,我正確地驗證
- 如果我溝通通過HTTPS它給了我「401未經授權」的錯誤有哪些[授權]標籤(它適用於所有的控制器動作不需要授權的操作)
爲什麼只改變傳輸協議(從http到https)會阻止NTLM身份驗證正常工作?
感謝您的任何幫助!
一件事澄清 - HTTPS是Web應用程序和Web API之間使用,而Web應用程序和瀏覽器之間 –
你確信[授權]是System.Web.Http.Authorize? –
是的,System.Web.Http.AuthorizeAttribute。當使用http傳輸時,它可以正常工作。只有將其更改爲https才能打破授權... –