Ken*_*n J 5 ruby-on-rails devise sidekiq
我正在尝试使用 Devise 保护 Sidekiq UI。我正在运行 Rails 5.1、Devise 4.3 和 Sidekiq 5.0。我尝试了以下帖子:
如何使用密码保护我的 /sidekiq 路由(即需要对 Sidekiq::Web 工具进行身份验证)?
但我收到以下错误:
Undefined method failure_app for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
我的路线文件如下所示:
Rails.application.routes.draw do
constraint = lambda do |request|
request.env['warden'].authenticate!({ scope: :admin_user })
end
constraints constraint do
mount Sidekiq::Web => '/admin/sidekiq'
end
devise_for :users
resources :users
end
Run Code Online (Sandbox Code Playgroud)
如何使用 Devise on Rails 5.1 保护 Sidekiq UI?
我偶然发现了这个页面,其中概述了如何使用 Devise 保护 Web UI:
Devise
Allow any authenticated User
# Allow any user access
authenticate :user do
mount Sidekiq::Web => '/sidekiq'
end
# Allow only admin users
authenticate :user, lambda { |u| u.admin? } do
mount Sidekiq::Web => '/sidekiq'
end
Run Code Online (Sandbox Code Playgroud)
我已经确认这适用于 Rails 5.1 和 Devise 4.3。