Tôi đã tìm kiếm rất nhiều trên Google và ngăn xếp ngăn xếp để tìm giải pháp cho vấn đề của mình nhưng không có gì hiệu quả.Yêu cầu preflight CORS trả lại HTTP 401 với xác thực cửa sổ
Đây là vấn đề của tôi:
tôi sử dụng IIS 7 với một môi trường lập trình đặc biệt gọi là webdev mà không cho phép thao tác trực tiếp của
OPTIONS
phương thức HTTP. Vì vậy, tất cả các giải pháp cho thấy một số loại xử lý yêu cầu phía máy chủ sử dụng mã là không khả thi.tôi phải sử dụng chứng thực Window và vô hiệu hóa truy cập nặc danh
Tôi có một trang có sử dụng CORS POST đến máy chủ này. Vì POST này phải có
Content-type: Octet-stream
, trình duyệt trước sẽ được phát hành.Khi tôi cho phép truy cập nặc danh, mọi thứ hoạt động tốt (CORS được cấu hình tốt)
Khi tôi vô hiệu hóa truy cập nặc danh, server trả lời với HTTP 401 phản ứng trái phép vào các yêu cầu preflight, vì nó không chứa thông tin thông tin.
Tôi cố gắng để viết một module cho IIS chấp nhận OPTIONS yêu cầu như thế này, nhưng nó đã không làm việc (không thể thêm các module một cách chính xác để IIS, có lẽ)
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; } }; } }
Câu hỏi đặt ra là: Làm thế nào tôi có thể làm cho IIS đáp ứng với HTTP 200 với yêu cầu preflight mà không cho phép truy cập nặc danh hoặc viết một số mã phía máy chủ? Có cấu hình dễ dàng hay mô-đun sẵn sàng cho IIS để làm như vậy không? Ít nhất, các bước chi tiết để cài đặt mô đun trên vào IIS 7 là gì?
cuộc sống tiết kiệm bro 1 –