2010-06-11 9 views
9

Mi piacerebbe eseguire un'applicazione in una beta privata riservata su heroku.Beta privata con autorizzazione di Heroku

Stiamo cambiando regolarmente l'app e non abbiamo effettuato un controllo di sicurezza.

Per impedire a chiunque stia sfruttando roba, vorremmo bloccare l'intero sito, quindi è necessaria una password per accedere a qualsiasi cosa.

Idealmente simile all'utilizzo di file .htaccess e .htpasswd per bloccare un intero sito su un server Apache.

C'è un modo semplice per farlo per un'app ospitata su heroku?

+0

Duplicate/simile di http://stackoverflow.com/questions/3839167/is-there-a-way-to-set-up-simple-http-authentication-for-an-app-on-heroku – tothemario

risposta

3

.htaccess e .htpasswd fondamentalmente indica ad Apache di autenticare l'utente utilizzando un sistema di autenticazione di base. Puoi fare lo stesso con un livello Rack puro.

Vedi http://rack.rubyforge.org/doc/Rack/Auth/Basic.html

Poiché si utilizza Heroku, presumo si sta distribuendo un'applicazione Rack-compatibile (o un rack, Rails o Sinatra app).

5

Basta usare authenticate_or_request_with_http_basic in un before_filter nel tuo ApplicationController.

Vai a questa Railscasts episodio per le istruzioni: http://railscasts.com/episodes/82-http-basic-authentication

+0

provato, ma non sarebbe bello con idea. sembrava generare un ciclo di reindirizzamento infinito –

+0

Ah! Basta aggiungere 'warden.custom_failure! se eseguito? 'alla fine del metodo di filtro (come in https://gist.github.com/dc7906d07174c8514551) – plindberg

+0

Ho provato questo metodo con' warden.custom_failure! se eseguito? ', e funziona, ma causa un altro problema. Quando si tenta di accedere come utente (usando devise), si dice "nome utente e password errati", probabilmente perché sta tentando di utilizzare l'u/p utilizzato per l'autenticazione di base HTTP. Qualche idea? –

Problemi correlati