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。
我最近将 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。