Sto cercando di capire quale sarebbe il modo migliore per proteggere il mio ambiente di staging. Attualmente sto eseguendo sia la gestione temporanea che la produzione sullo stesso server.Password che protegge un ambiente di gestione temporanea delle rotaie
Le due opzioni che posso pensare sarebbe quello di:
Utilizzare rotaie autenticazione Digest
ho potuto mettere qualcosa di simile nel application_controller.rb
# Password protection for staging environment
if RAILS_ENV == 'staging'
before_filter :authenticate_for_staging
end
def authenticate_for_staging
success = authenticate_or_request_with_http_digest("Staging") do |username|
if username == "staging"
"staging_password"
end
end
unless success
request_http_digest_authentication("Admin", "Authentication failed")
end
end
questo è stato strappato da Ryan Daigle's blog. Sono in esecuzione sull'ultimo Rails 2.3, quindi dovrei essere libero dal problema di sicurezza che hanno avuto con questo.
Usa autenticazione del server web
Potrei anche farlo con .htaccess o Apache i permessi, ma rende il mio server provisioning leggermente più complesso (sto usando Chef, e richiederebbe diverse configurazioni di Apache per la stadiazione /produzione).
Per ora ho implementato e funzionante il primo, ci sono problemi con esso? Ho perso qualcosa di ovvio? Grazie in anticipo!
C'è anche questa opzione, che è stata aggiunta di recente: https://github.com/rails/rails/commit/e2b07ee000439d0bd41f725ff9f7ad53e52a7e9b, mi piace la tua soluzione, penso che sia la strada da percorrere. – jonnii