2016-08-03 14 views
2

Ruby 2.3.1でRails 5.0.0アプリを実行していますRails - deviseとsidekiqのルート

Sidekiqはバックグラウンドジョブに使用されており、認証のために開発中です。 sidekiqステータスページにアクセスすると、ユーザーがログアウトし、

devise_for :users, skip: [:sessions] 
    as :user do 
     get 'login' => 'devise/sessions#new',  :as => :new_user_session 
     post 'login' => 'devise/sessions#create', :as => :user_session 
     delete 'logout' => 'devise/sessions#destroy', :as => :destroy_user_session 
    end 

require 'sidekiq/web' 
    require 'sidekiq/cron/web' 
    #Sidekiq::Web.set :session_secret, Rails.application.secrets[:secret_key_base] 
    authenticate :user do 
     mount Sidekiq::Web => '/sidekiq' 
    end 

をしかし:

Sidekiqの監視と工夫は、次のようにルートにマウントされています。

のRails 4.2.5

+0

これらのgemのgithubリポジトリを検索します。 Rails 5.0とruby 2.3は最近のもので、宝石と完全に互換性がないかもしれません。 – lcguida

+0

緊急の修正が必要な場合は、devcを削除し、bcryptを使用して独自の認証をロールバックすることができます。 – bkunzi01

答えて

1

で正常に動作するために使用したのと同じコードを使用すると、あなたのdevise_forルートで「asを」そのエイリアスを使っているのと同じ方法で、devise_scope下Sidekiqのあなたの取り付けをラップしてみてください。

# Only allow authenticated users to get access 
# to the Sidekiq web interface 
devise_scope :user do 
    authenticated :user do 
    mount Sidekiq::Web => '/sidekiq' 
    end 
end 
+0

これで解決しました。ありがとう。 –

関連する問題