我在我的rails-api项目中使用this gem。
我试图根据用户角色限制某些路线。所以我创建了一个约束
class BackendConstraint
def self.matches?(request)
current_user = request.env['warden'].user
return false if current_user.blank?
current_user.role?(:admin)
end
end
但request.env['warden'].user
始终为空。我错过了什么吗?
由于
答案 0 :(得分:0)
我在使用鳍状肢建议的过滤器时遇到了同样的问题,但发现设计有一个单线解决方案:https://github.com/plataformatec/devise/wiki/How-To:-Define-resource-actions-that-require-authentication-using-routes.rb
例如
authenticate :user do
resources :fjords, only: [:new, :create, :edit, :update, :destroy]
end
resources :fjords, only: [:index, :show]