J'essaie de déterminer quelle serait la meilleure façon de sécuriser mon environnement de transfert. Actuellement, je cours à la fois la mise en scène et la production sur le même serveur.Mot de passe protégeant un environnement de stockage intermédiaire de rails
Les deux options que je peux penser serait de:
Utiliser l'authentification digest rails
je pourrais mettre quelque chose comme ça dans le 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
Cela a été arraché à partir de Ryan Daigle's blog. Je cours sur les derniers Rails 2.3 donc je devrais être libre du problème de sécurité qu'ils ont eu avec ceci.
Utiliser l'authentification du serveur web
Je pourrais aussi y parvenir en utilisant des autorisations .htaccess ou apache, mais il est un peu plus complexe mon approvisionnement du serveur (j'utilise le chef, et nécessiterait différentes configs apache pour la mise en scène /production).
Pour l'instant, j'ai le premier mis en œuvre et de travail, voyez-vous des problèmes? Ai-je manqué quelque chose d'évident? Merci d'avance!
Il y a aussi cette option, qui a été ajoutée récemment: https://github.com/rails/rails/commit/e2b07ee000439d0bd41f725ff9f7ad53e52a7e9b, j'aime bien votre solution, je pense que c'est la voie à suivre. – jonnii