2016-03-14 5 views
0

У меня есть приложение, которое использует devise/omniauth для аутентификации и запускает группу рабочих сторонников.Защитить sidekiq админ с помощью метода (документированный способ не работает)

Я также хотел бы защитить маршруты/sidekiq и/sidekiq_monitor с помощью разработки, но до сих пор я сталкиваюсь с множеством проблем.

Документально решение сделать это в routes.rb:

authenticate :user do 
    mount Sidekiq::Web => '/sidekiq' 
end 

Но это не работает для меня - то, что происходит, когда я добавить, что в том, что если пользователь переходит к/sidekiq они побудили для входа в систему, независимо от их статуса auth, и если они войдут в систему и вернутся в/sidekiq, они снова будут запрошены для входа в систему.

Возможные морщины - я вхожу в систему через omniauth-saml, что означает, что здесь происходят некоторые переадресации в миксе, но это отлично работает со всеми другими авторингами на моем сайте. Я также только с помощью очень минимального немного завещанию, просто:

devise :rememberable, :trackable, :omniauthable, :omniauth_providers => [:saml] 

ответ

1

Попробуйте изменить в вашем файле routes.rb это:

authenticate :user do 
    mount Sidekiq::Web, at: "/sidekiq" 
end 

Также обратите внимание, что: пользователь ссылается на вашу пользовательскую модель приложения. Если ваша модель пользователя имеет другое имя, скажем: admin, вы должны заменить: user to: admin в отключенном коде выше.

+0

Должен был отложить ответ - похоже, сначала он работал, но после перезагрузки несколько раз проблема вернулась. –

+0

Я думаю, что это сработало. Что-то неуловимое продолжалось с моим кешем браузера, из-за чего было трудно сказать. –

0

попробовать это внутри ваших маршрутов:

Sidekiq::Web.use Rack::Auth::Basic do |username, password| 
    username == USERNAME && password == PASSWORD 
end if Rails.env.production? 

mount Sidekiq::Web, at: "/sidekiq" 
+0

Это не добавит изобретателя auth на страницу, это добавит к нему абсолютно несвязанный базовый auth. Вероятно, это будет работать, но это не то решение, которое я ищу. –

+0

Да - он не добавляет devus auth. Это легкий, он работает, и вы не полагаетесь на попытку проникнуть в черный ящик, который разрабатывается. – toddmetheny