2014-05-12 5 views
6

Sto usando l'autenticazione di base HTTP (nome utente & password) in un sito tra cui gli endpoint API ospitato in Apache, sto facendo qualcosa di simile su .htaccess:Come posso evitare di richiedere l'autenticazione di base quando il metodo HTTP è OPTION su Apache .htaccess?

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

Dal momento che sto consumando l'API dal lato browser una pagina ospitata su un altro dominio (la parte CORS è già stata risolta), ho bisogno di consentire alcune richieste UNauthenticated. Queste richieste sono la richiesta il cui metodo è "OPZIONI", (preflight come spiegato qui: http://www.w3.org/TR/cors/#resource-preflight-requests), Per favore, non ho bisogno di informazioni su ajax o qualsiasi altra cosa sul browser, ho bisogno di sapere come fare questo su apache

Grazie in anticipo

risposta

6

Qui è possibile utilizzare mod_setenvif.

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

Grazie, mi mancava: 'Ordine negare, permettono Deny da tutto Consenti dal env = permesso Satisfy any' per ottenere la verifica preliminare funziona correttamente –

+0

@dseminara: Funzionava fuori? – anubhava

Problemi correlati