2014-05-12 12 views
6

Tôi đang sử dụng xác thực HTTP cơ bản (username & mật khẩu) trong một trang web bao gồm các điểm cuối API được tổ chức trong Apache, tôi đang làm một cái gì đó như thế này trên .htaccess:Làm cách nào để tránh yêu cầu Xác thực cơ bản khi phương thức HTTP là TÙY CHỌN trên Apache .htaccess?

AuthType Basic 
AuthName "Restricted Files" 
# (Following line optional) 
AuthBasicProvider file 
AuthUserFile /usr/local/apache/passwd/passwords 
Require user rbowen 

Kể từ khi tôi tiêu thụ các API từ bên trong trình duyệt một trang được lưu trữ trên một tên miền khác (phần CORS đã được giải quyết), tôi cần phải cho phép một số yêu cầu không được xác thực. Các yêu cầu này là yêu cầu mà phương thức là "TÙY CHỌN", (preflight như được giải thích ở đây: http://www.w3.org/TR/cors/#resource-preflight-requests), Xin vui lòng, tôi không cần bất kỳ thông tin về ajax hoặc bất kỳ điều nào khác trên trình duyệt, tôi cần biết cách thực hiện điều này trên apache

Cảm ơn trước

Trả lời

6

Bạn có thể sử dụng mod_setenvif tại đây.

SetEnvIfNoCase Request_Method OPTIONS allowed 

AuthType Basic 
AuthName "Restricted Files" 
# (Following line optional) 
AuthBasicProvider file 
AuthUserFile /usr/local/apache/passwd/passwords 
Require user rbowen 
Order deny,allow 
Deny from all 
Allow from env=allowed 
Satisfy any 
+1

Cảm ơn, tôi đã mất tích: 'theo thứ tự từ chối, cho phép deny from all Allow from env = phép Đáp ứng any' để có được những preflight hoạt động một cách chính xác –

+0

@dseminara: Đã làm việc này ra? – anubhava

Các vấn đề liên quan