Rails - 设计和 sidekiq 路线
Rails - devise and sidekiq routes
我是 运行 一个 Rails 5.0.0 应用程序 Ruby 2.3.1
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
下,就像在 devise_for
路由中使用其别名“as
”一样:
# 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
我是 运行 一个 Rails 5.0.0 应用程序 Ruby 2.3.1
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
下,就像在 devise_for
路由中使用其别名“as
”一样:
# 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