HTTP基本身份验证不适用于Heroku上的resque-web

时间:2014-04-25 20:55:34

标签: ruby-on-rails heroku resque authlogic

resque-web's GitHub page上,它声称“开箱即用支持HTTP基本身份验证。只需设置环境变量RESQUE_WEB_HTTP_BASIC_AUTH_USERRESQUE_WEB_HTTP_BASIC_AUTH_PASSWORD即可将其打开。如果您正在使用Resque Heroku运行heroku配置:设置RESQUE_WEB_HTTP_BASIC_AUTH_USER=user RESQUE_WEB_HTTP_BASIC_AUTH_PASSWORD=secret以获得ResqueWeb安全。“

我做到了。这是我运行heroku config时得到的结果:

RESQUE_WEB_HTTP_BASIC_AUTH_PASSWORD: mypassword
RESQUE_WEB_HTTP_BASIC_AUTH_USER:     resque

但是当我访问/resque时,它运作得很好;无需认证即可查看所有内容。

我做错了吗?

P.S。我使用HTTP基本身份验证的唯一原因是因为我使用Authlogic并且resque-web-Authlogic组合似乎不太受支持。这是最后的手段。

1 个答案:

答案 0 :(得分:3)

以防万一其他人想知道,实现HTTP身份验证而不需要安装resque-web gem的另一种方法是创建resque_admin.rb文件(或任何其他名称)并将以下代码放入其中:

Resque::Server.use(Rack::Auth::Basic) do |user, password|
  user = "EnterUsernameHere"
  password == "EnterPasswordHere"
end

设置完毕后,其他所有内容都会正常工作。