2016-05-24 11 views
0

Ich habe vor kurzem rails_admin zu meiner App hinzugefügt, um seine Datenbank zu ändern, ohne ins Backend zu gehen.Rails_admin Authentifizierung arbeitet in der Entwicklung, aber nicht Heroku Produktion

In config> initializers> rails_admin.db ich habe:

RailsAdmin.config do |config| 
    config.authorize_with do 
    authenticate_or_request_with_http_basic('Site Message') do |username, password| 
     username == 'foo' && password == 'bar' 
    end 
    end 

    config.main_app_name { ['app_name', 'Admin'] } 

    config.actions do 
    dashboard      # mandatory 
    index       # mandatory 
    new 
    export 
    bulk_delete 
    show 
    edit 
    delete 
    show_in_app 
    end 
end 

Wenn in localhost:3000/admin betrachtet, erscheint ein Fenster für den Namen und das Kennwort zu fragen ich in die App setzen.

Ich bin ein wenig unorthodox, benutze keine CanCan, Devise oder ähnliches, aber ich glaube nicht, dass meine kleine Seite so viel Arbeit für die Authentifizierung benötigt (ich bin bereit, mit denen zu arbeiten, wenn es da ist ist keine andere Lösung für dieses).

Nach der Bereitstellung in Heroku funktioniert die Seite /admin weiterhin, jedoch wird der Authentifizierungsschritt vollständig umgangen. Ich verstehe nicht, warum Heroku so wählerisch sein würde. Nimmt es nicht die authenticate_or_request_with_http_basic Methode? Oder habe ich einen Schritt bei der Heroku-Bereitstellung verpasst (ich habe gerade git push heroku master verwendet)?

Vielen Dank im Voraus.

Antwort

0

Ich habe die Antwort gefunden und meine eigene Frage beantwortet, falls jemand anderes auf dieses Problem stoßen sollte.

Das war eigentlich ein Problem, das ich mit Git hatte, nicht Heroku. Die Initialisierer (die meinen Autorisierungscode enthielten) wurden nicht mit git verfolgt. Ich musste einfach "git add config /" in die Befehlszeile eingeben, um die Konfigurationsdateien (einschließlich der Initialisierer) zu verfolgen, Änderungen zu bestätigen und dann zu Heroku hochzuladen.

Verwandte Themen