8

私はdelayed_job_web gemを使って遅延ジョブを監視しています。https://github.com/ejschmitt/delayed_job_web

私のroutes.rbで次の行を使用してアクセスできます:

match "/delayed_job" => DelayedJobWeb, :anchor => false

私のサイトの他のすべてのエリアでは、Devise gem を使用してログインする必要があります。これにもログインを要求するにはどうすればよいですか?

readme では、config.rb に以下を追加することを提案しています。

if Rails.env.production?
  DelayedJobWeb.use Rack::Auth::Basic do |username, password|
    username == 'username'
    password == 'password'
  end
end

ただし、これはプレーン テキストのブラウザ認証を使用するだけです。

更新: resque で railscast に似たものを試しましたが、動作する寸前だと思いますが、現在リダイレクト ループが発生しています:

  authenticate :admin do
    mount DelayedJobWeb, :at => "/delayed_job"
  end

なぜリダイレクトループが発生するのかについて何か考えはありますか?

ありがとう、

4

3 に答える 3

7

authenticatedここで説明されている代わりに使用authenticateしてください: http://excid3.com/blog/rails-tip-5-authenticated-root-and-dashboard-routes-with-devise/

私のために働く!

于 2012-09-12T09:34:51.377 に答える
1

この内部config/routes.rbファイルを定義するようなことができます

  authenticate_user = lambda do |request|   
     request.env['warden'].authenticate?
  end

  constraints authenticate_user do
    mount DelayedJobWeb, :at => "/delayed_job"
  end

あるいは、他のロール管理ライブラリ用の cancan がある場合は、次のようにすることができます

アプリケーションのニーズに応じて resque-web へのアクセスを制御するために、アプリケーションでこの両方を使用しました

この助けを願っています

于 2012-08-11T14:45:31.017 に答える