Я пытаюсь понять, каким будет лучший способ защитить мою промежуточную среду. В настоящее время я запускаю как постановку, так и выпуск на том же сервере.
Два возможных варианта:
Использовать аутентификацию рельсов
Я мог бы добавить что-то подобное в 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
Это было разорвано из блог Райана Дайгла. Я запускаю последнюю версию Rails 2.3, поэтому я должен быть свободен от проблем безопасности, которые у них были с этим.
Использовать аутентификацию веб-сервера
Я мог бы также добиться этого с помощью разрешений .htaccess или apache, однако это немного упрощает настройку моего сервера (я использую Chef и для разных целей требуются разные конфигурации apache).
На данный момент у меня есть первый реализованный и работающий, вы видите проблемы с ним? Я пропустил что-то очевидное? Спасибо заранее!