我搜索了很多谷歌和堆棧溢出找到解決我的問題,但沒有奏效。CORS預檢請求返回HTTP 401與Windows身份驗證
這裏是我的問題:
我用IIS 7具有特殊的編程環境調用Webdev的,不允許
OPTIONS
HTTP方法的直接操作。所以,所有提出某種使用代碼的服務器端請求處理的解決方案都是不可行的。我必須使用Window身份驗證並禁用匿名訪問
我有一個使用CORS張貼到該服務器的頁面。由於此POST應該有
Content-type: Octet-stream
,因此瀏覽器會發布預檢。當我啓用匿名訪問,一切工作正常(CORS良好配置)
當我禁用匿名訪問,服務器與HTTP 401預檢要求擅自響應回覆,因爲它不包含憑據信息。
我試着寫的IIS接受這樣OPTIONS請求模塊,但它沒有工作(不能正確添加模塊到IIS,也許)
public class CORSModule : IHttpModule { public void Dispose() { } public void Init(HttpApplication context) { context.PreSendRequestHeaders += delegate { if (context.Request.HttpMethod == "OPTIONS") { var response = context.Response; response.StatusCode = (int)HttpStatusCode.OK; } }; } }
問題是:我怎樣才能讓IIS響應HTTP 200到預檢請求而不啓用匿名訪問或寫一些服務器端代碼?有沒有一個簡單的配置或現成的模塊爲IIS做到這一點?至少,將上述模塊安裝到IIS 7中的詳細步驟是什麼?
生命的救星兄弟+1 –