Sidekiq 화면 액세스를 제한하는 방법 3가지 선택
자신이 준비한 인증 기능으로 Sidekiq의 화면 접근을 제한하는 방법에 대한 정보를 찾지 못해 메모로 남겨뒀다.
Rails에서 비동기 처리 시 Sidekiq를 사용하는 경우
Sidekiq에서 준비한 관리 화면을 루트에 설치할 수 있을 것 같습니다.
require 'sidekiq/web'
Rails.application.routes.draw do
mount Sidekiq::Web, at: '/sidekiq'
end
그러나 정식 촬영 환경에서도 제3자는 똑같이 확인하고 싶은 이 화면을 방문할 수 없다인증하는 게 좋을 것 같아서요.
1. BASIC 인증 사용 방법
이 방법을 사용한다면 환경 변수 등을 사용하세요.
require 'sidekiq/web'
Rails.application.routes.draw do
Sidekiq::Web.use(Rack::Auth::Basic) do |user, password|
[user, password] == ['user', 'password']
end
end
2. Device 사용 방법
사용
authenticated
은 간단합니다.authenticate :user do #authenticate
mount Sidekiq::Web => '/sidekiq'
end
3. 현재 인증 기능(세션 사용 방법)
constraints를 사용하면 좋은 느낌을 얻을 수 있습니다.
예를 들어
Admin
모델의 세션admin_id
에서 인증된 기능인 경우아래의 실현에서 실현할 수 있다.
class AdminAuthConstraint
def matches?(request)
return false if request.session[:admin_id].blank?
Admin.exists?(request.session[:admin_id])
end
end
Rails.application.routes.draw do
mount Sidekiq::Web => '/sidekiq', constraints: AdminAuthConstraint.new
end
다른 좋은 방법이 있다면 교수님🙇♂️
Reference
이 문제에 관하여(Sidekiq 화면 액세스를 제한하는 방법 3가지 선택), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/n04h/articles/sidekiq-auth텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)