Frage

Ich versuche, herauszufinden, was der beste Weg, um meine Staging-Umgebung zu sichern wäre. Derzeit beide Inszenierung und Produktion auf demselben Server ich renne.

Die beiden Optionen, die ich von wären denken kann:

Verwenden Schienen Digest-Authentifizierung

ich so etwas wie dies in der application_controller.rb setzen könnte

# 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

Dies wurde von

Andere Tipps

Wenn Sie mit Multi-Staging-Umgebungen bereitstellen und so haben Sie Produktionsumgebung und Staging-Umgebung, müssen Sie nur diese Zeilen config / Umgebungen / staging.rb

hinzufügen
MyApp::Application.configure do
  # RESTRICTING ACCESS TO THE STAGE ENVIRONMENT
  config.middleware.insert_before(::Rack::Runtime, "::Rack::Auth::Basic", "Staging") do |u, p|
    u == 'tester' && p == 'secret'
  end

  ...

end

Auf diese Weise brauchen Sie nicht Apache zu konfigurieren.

Ich bin mit Ruby 2 mit Rails 4 und es wirkt wie ein Zauber!

Ich würde mit der HTTP-Basisauthentifizierung gehen, sehe ich keine inhärenten Probleme damit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top