我需要设置一个只有在使用设备登录的用户为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 我想他们发布的代码,它没有工作,所以我做了一些修改,因为我刚刚发布。上面的代码在用户评估为零时不起作用。
什么是正确的安全方式来处理这个?
感谢您的任何帮助!