如何使用Devise来保护delayed_job_web接口?

Ira*_*man 8 ruby delayed-job devise ruby-on-rails-3

我正在使用delayed_job_web gem来监视延迟的作业.https://github.com/ejschmitt/delayed_job_web

可以在我的routes.rb中使用此行访问它:

match "/delayed_job" => DelayedJobWeb, :anchor => false
Run Code Online (Sandbox Code Playgroud)

我网站的每个其他区域都需要使用Devise gem登录.如何使这也需要登录?

在自述文件中,他们建议在config.rb中添加以下内容:

if Rails.env.production?
  DelayedJobWeb.use Rack::Auth::Basic do |username, password|
    username == 'username'
    password == 'password'
  end
end
Run Code Online (Sandbox Code Playgroud)

但这只是使用纯文本浏览器身份验证.

更新:我在resque上尝试了类似于railscast的东西,我认为它正处于工作的边缘,但现在给我一个重定向循环:

  authenticate :admin do
    mount DelayedJobWeb, :at => "/delayed_job"
  end
Run Code Online (Sandbox Code Playgroud)

有关为什么会给出重定向循环的任何想法?

谢谢,

MMo*_*ore 7

使用authenticated而不是authenticate如下所述:http://excid3.com/blog/rails-tip-5-authenticated-root-and-dashboard-routes-with-devise/

适合我!