我有一個啟用了Windows身份驗證的Web服務器上運行的ASP.NET Web API服務。我有一個基于MVC4的客戶端站點,該客戶端站點在使用HttpClient從服務中提取數據的同一Web服務器上的不同站點中運行。該客戶端站點在啟用身份模擬的情況下運行,并且還使用Windows身份驗證。Web服務器是帶有IIS 7.5的Windows Server 2008 R2。我面臨的挑戰是讓HttpClient作為其身份驗證過程的一部分傳遞當前的Windows用戶。我已經以這種方式配置HttpClient:var clientHandler = new HttpClientHandler();clientHandler.UseDefaultCredentials = true;clientHandler.PreAuthenticate = true;clientHandler.ClientCertificateOptions = ClientCertificateOption.Automatic;var httpClient = new HttpClient(clientHandler);我的理解是,運行啟用了身份模擬的站點,然后以這種方式構建客戶端,應導致客戶端使用當前登錄用戶的模擬身份向服務進行身份驗證。這沒有發生。實際上,客戶端似乎根本沒有進行身份驗證。該服務配置為使用Windows身份驗證,這似乎可以正常工作。我可以在Web瀏覽器中轉到http:// server / api / shippers,并被提示進行Windows身份驗證,一旦輸入,我就會收到請求的數據。在IIS日志中,我看到未經身份驗證接收到API請求并收到401質詢響應。關于這一方面的文檔似乎很少。我需要對可能出問題的方式或與此應用程序一起使用Windows身份驗證的另一種方式有所了解。
添加回答
舉報
0/150
提交
取消