【问题标题】:Rails - devise_token_auth - Accessing current user in constraintRails - devise_token_auth - 在约束中访问当前用户
【发布时间】:2015-12-17 16:29:40
【问题描述】:

我在我的 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 始终为空。我错过了什么吗?

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby authentication devise token


    【解决方案1】:

    我在使用 Flipper 建议的过滤器时遇到了同样的问题,但发现 devise 有一个单一的解决方案: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]
    

    【讨论】:

      猜你喜欢
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多