Rails_admin 身份验证在开发中有效,但在 Heroku 生产中无效

Rails_admin authentication works in development but not Heroku production

我最近将 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 中查看时,出现 window 询问我输入应用程序的名称和密码。

我有点不正统,不使用 CanCan、Devise 等,但我认为我的小站点不需要那么多的身份验证工作(不过,我愿意使用这些,如果对此没有其他解决方案。

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

提前致谢。

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

这实际上是我在使用 Git 时遇到的问题,而不是 Heroku。 git 未跟踪初始值设定项(其中包含我的授权代码)。我只需要在命令行中输入 "git add config/" 来跟踪配置文件(包括初始化程序)、提交更改,然后上传到 Heroku。