2016-03-14 29 views
0

我有一个使用设计认证/ omniauth,并运行了一堆sidekiq工人的应用程序。保护与色器件sidekiq管理(记录方式不工作)

我想保护与色器件/ sidekiq和/ sidekiq_monitor路线为好,但到目前为止,我遇到了很多麻烦这样做。

的文件解决方案是为此在routes.rb中:

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

但不是为我工作 - 当我再补充一点的是,如果一个用户进入/ sidekiq提示他们会发生什么不管他们的身份验证身份登录,如果他们登录并返回/ sidekiq他们再次提示您登录。

可能的皱纹 - 我通过omniauth-saml登录,这意味着一些重定向发生在这里的混合 - 但这与我的网站上的所有其他身份验证正常工作。我也只能用色器件一个很小的一点,只是:

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

回答

1

尝试在你的routes.rb文件更改为此:

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

还要注意的是:用户是指您的应用程序的用户模型。如果您的用户模型有另外一个名字,让我们说:管理员,您应该更换:用户:管理员在上面的文档片断代码。

+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添加到页面中,它会增加一个完全无关的基本身份验证它。可能会工作,但不是我正在寻找的解决方案。 –

+0

是的 - 它不会添加设计认证。这是轻量级的,它的工作原理,而且你并不依赖试图进入设计的黑盒子。 – toddmetheny