我正在构建一个只有公司员工可以使用的应用程序 当员工注册时,他们将填写自己的两个密码和公司的
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
我不希望暴露公司密码有更好的方法吗?
答案 0 :(得分:1)
您想要使用环境变量:
if params[:company_passwod] != ENV['COMPANY_PASSWORD]
部署它时,在Heroku上运行Rails控制台以设置密码:
ENV['COMPANY_PASSWORD'] = 'yolo'
答案 1 :(得分:1)
开发和测试ENV。
gem "figaro"
bundle exec figaro install
它会生成config/application.yml
个文件,也会生成.gitignore
行(不推KEYS
)。
COMPANY_PASSWORD: "password"
COMPANY_KEY: "password"
现在,您可以在应用中的任意位置使用密钥ENV["COMPANY_PASSWORD"]