2

Ich bin eine Rails 5.0.0 app mit Ruby-Lauf 2.3.1Rails - entwickeln und sidekiq Routen

Sidekiq wird für Hintergrundjobs verwendet und für die Authentifizierung entwickeln.

Sidekiq Überwachung und ersinnen werden in Routen wie folgt montiert:

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 

Aber Zugriff auf die sidekiq Statusseite der Benutzer abmeldet.

Der gleiche Code zu arbeiten gut mit Rails 4.2.5

+0

Ich würde diese Edelsteine ​​github Repositories durchsuchen. Rails 5.0 und Ruby 2.3 sind sehr neu, sie sind möglicherweise nicht vollständig kompatibel mit den Edelsteinen. – lcguida

+0

Wenn ein dringender Fix benötigt wird, können Sie devise entfernen und Ihre eigene Authentifizierung mit bcrypt erstellen, da dies für 5.0 funktioniert. – bkunzi01

Antwort

1

Versuchen Einwickeln Ihre Montage von Sidekiq unter devise_scope, auf die gleiche Weise verwenden Sie den Alias ​​"as" in Ihrem devise_for Route verwendet:

# 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

Das hat es gelöst. Vielen Dank. –