簡體   English   中英

Rails - 設計和 sidekiq 路線

[英]Rails - devise and sidekiq routes

我正在使用 Ruby 2.3.1 運行 Rails 5.0.0 應用程序

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 中正常工作的相同代碼

試試你的包裹下Sidekiq安裝devise_scope ,以同樣的方式你使用它的別名“ as ”在你devise_for路線:

# 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

這是允許在 Sidekiq 路由上進行自定義身份驗證的片段。

authenticate :user, ->(user) { user.admin? || Other auth related checks... } do
  mount Sidekiq::Web => "/sidekiq"
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM