Rails_admin身份验证适用于开发但不适用于Heroku生产

时间:2016-05-24 18:37:01

标签: ruby-on-rails authentication heroku rails-admin

我最近将rails_admin添加到我的应用程序中,无需进入后端即可修改其数据库。

在配置>初始化器> rails_admin.db我有:

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

localhost:3000/admin中查看时,会出现一个窗口,询问我在应用中输入的名称和密码。

我有点不正统,不使用CanCan,Devise等,但我认为我的小网站不需要那么多的身份验证工作(我愿意和那些人一起工作,但是,如果有的话没有其他解决方案)。

部署到Heroku后,/admin页面仍然有效,但完全绕过了身份验证步骤。我不明白为什么Heroku会那么挑剔。是不是采用authenticate_or_request_with_http_basic方法?或者是我错过了Heroku部署中的一个步骤(我刚刚使用git push heroku master)?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我找到了答案,回答了我自己的问题,以防其他人遇到这个问题。

这实际上是我与Git有关的问题,而不是Heroku。初始化程序(包含我的授权代码)没有使用git进行跟踪。我只需要输入" git add config /"进入命令行以跟踪配置文件(包括初始化程序),提交更改,然后上传到Heroku。