Сидекик с аутлогикой
Я использую Sidekiq с Authlogic, чтобы избежать нежелательных посещений пользователей. Я следовал по этой ссылке, но она не работает, как ожидалось. Я использовал ниже код
# lib/admin_constraint.rb
class AdminConstraint
def matches?(request)
return false unless request.cookie_jar['user_credentials'].present?
user = User.find_by_persistence_token(request.cookie_jar['user_credentials'].split(':')[0])
user && user.admin?
end
end
# config/routes.rb
require "admin_constraint"
mount Sidekiq::Web => '/sidekiq', :constraints => AdminConstraint.new
Если я вошел в систему как пользователь Admin, он работает правильно. Если я вошел в систему как обычный пользователь или без входа в систему, он показывает ошибку маршрутизации, когда я пытаюсь получить доступ к этой странице.
No route matches [GET] "/sidekiq"
Я хочу очистить эту ошибку. Кто-нибудь, пожалуйста, помогите мне. Заранее спасибо.
Я использую рельсы 3.2.13 и ruby версии 2.1.5
1 ответ
Решение
Попробуйте следующее, это должно работать.
class AdminConstraint
def matches?(request)
return false unless request.cookies['user_credentials'].present?
user = User.find_by_persistence_token(request.cookies['user_credentials'].split(':')[0])
user && user.admin?
end
end