2016-04-03 4 views
0

Ich baue eine Anwendung, die nur ein Unternehmen Mitarbeiter verwenden können, wenn der Arbeitnehmer nach oben ist die Unterzeichnung sie in zwei Passwörter füllen wird es besitzen und dieSchienen versteckt Mitarbeiter Eingang Passwort von git

def create 
@user = User.new(user_params) 
if params[:company_password] != 'password' 
    flash.now[:notice] = "company password incorrect " 
    render 'new' 
elsif @user.save 
    session[:user_id] = @user.id 
    redirect_to root_path 
else 
    render 'new' 
end 
end 

I don Unternehmen Ich möchte nicht, dass das Firmenpasswort angezeigt wird. Gibt es dafür einen besseren Weg?

Antwort

1

für Entwicklung und Test-ENV.

gem "figaro" 

bundle exec figaro install 

Es wird config/application.yml Datei, auch .gitignore Linie (nicht schieben KEYS) erzeugen.

config/application.yml

COMPANY_PASSWORD: "password" 
COMPANY_KEY: "password" 

Jetzt können Sie es überall in einer App verwenden, um Schlüssel ENV["COMPANY_PASSWORD"]

1

Sie wollen eine Umgebungsvariable verwenden:

if params[:company_passwod] != ENV['COMPANY_PASSWORD] 

Wenn Sie es einsetzen, eine Rails-Konsole auf Heroku führen Sie das Passwort zu setzen:

ENV['COMPANY_PASSWORD'] = 'yolo' 
+0

dank Verwendung ist es ein guter Ort, ENV, um [ 'COMPANY_PASSWORD'] für Entwicklung und Tests ? –

+0

Wenn Sie Rails 4.1 oder höher verwenden, können Sie die Datei secrets.yml in config/verwenden, ansonsten können Sie verschiedene Optionen für die Verwendung älterer Rails-Versionen googlen. – trosborn

Verwandte Themen