方案
IIS Webserver。 不是.Net Webservice。 發佈到Webservice。CORS PreFlight未發送憑證,服務器要拒絕未認證的用戶
.NET Web應用程序連接在一個橫結構域方式的web服務。
要求
Web服務器需要需要與單點登錄身份驗證的Active Directory用戶。
它是可以接受的飛行前OPTIONS測試接受驗證的請求,但任何其他請求(包括OPTIONS試驗後的POST)必須要求身份驗證的用戶。
我在哪裏:
我有一個成功的CORS跨域調用的Web應用程序和Web服務器之間的工作。我可以清楚地看到OPTIONS調用工作,然後後續POST調用工作。
問題:
OPTIONS調用不發送憑證。爲了解決這個問題,我們允許匿名用戶在網站級別。否則,我們會收到401未經授權的錯誤。
然而,一旦我們做到這一點,POST不再需要驗證。事實上,Web服務器日誌顯示證書根本不在郵件中發送。這是不可接受的。
我需要一種方法是(a)強制選項調用發送Active Directory憑據或(b)Web服務器必須拒絕所有未驗證非OPTIONS請求。
首:
對於解決途徑(一),我對自己這需要相當的比賽。
對於溶液路徑(B),更希望的IIS設置或web.config中設置。網絡服務器是用python編寫的,但我想我們可以創建一個c#web服務器代碼單元,它將調用在服務器上執行真正工作的python代碼。
想法?
謝謝。我讀過的一些CORS文章說,這些憑證沒有在「默認」選項請求上發送,這意味着它們可以發送。 有沒有辦法將IIS配置爲只接受匿名選項請求,但需要其他任何憑據? 我們發現獲得選項的唯一方法就是停止憑據在帖子上發送。 –
對不起,我對配置IIS一無所知。我回答說只是明確表示無法從客戶端解決此問題。 – sideshowbarker