我需要設置一個只有在使用設備登錄的用戶爲admin(user.admin?)時纔有效的路由。我正在爲sidekiq做這個,但這個問題適用於任何類似的用途。rails:如何檢查管理員用戶設置路由?
這裏是我的路線代碼:
class AdminConstraint
def matches?(request)
!request.session['warden.user.user.key'].nil? and request.session['warden'].user.admin?
end
end
require 'sidekiq/web'
mount Sidekiq::Web => '/sidekiq', :constraints => AdminConstraint.new
我得到這個代碼從sidekiq維基:https://github.com/mperham/sidekiq/wiki/Monitoring 我想他們發佈的代碼,它沒有工作,所以我做了一些修改,因爲我剛剛發佈。上面的代碼在用戶評估爲零時不起作用。
什麼是正確的安全方式來處理這個?
感謝您的任何幫助!