Ruby on rails 设计允许在单个控制器操作上进行令牌身份验证

Ruby on rails 设计允许在单个控制器操作上进行令牌身份验证,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,我有一个webapplication,它对所有控制器使用Desive数据库身份验证,但是我希望有一个控制器操作,其中身份验证也使用令牌完成。我可以为此使用designe吗?design strategies有一个有效的?方法,该方法被调用以确定是否应启用该策略。这允许您在每个控制器/操作的基础上控制可用的身份验证策略 将其放入初始值设定项中: require 'devise/strategies/base' require 'devise/strategies/token_authenticat

我有一个webapplication,它对所有控制器使用Desive数据库身份验证,但是我希望有一个控制器操作,其中身份验证也使用令牌完成。我可以为此使用designe吗?

design strategies有一个
有效的?
方法,该方法被调用以确定是否应启用该策略。这允许您在每个控制器/操作的基础上控制可用的身份验证策略

将其放入初始值设定项中:

require 'devise/strategies/base'
require 'devise/strategies/token_authenticatable'
module Devise
  module Strategies
    class TokenAuthenticatable < Authenticatable
      def valid?
        super && params[:controller] == "your controller" && params[:action] == "your action"
      end
    end
  end
end
要求“设计/策略/基础”
要求“设计/策略/令牌可认证”
模块设计
模块策略
类TokenAuthenticatable

让我知道它是否有效。

我回家后会试试这个,让你知道。。。但是谢谢,听起来正是我需要的。但是你需要将你的用户模型设置为令牌身份验证,当然这是。。。令牌身份验证正在工作,但仅适用于每个控制器/操作。。。我想把它限制在某个控制器上#action这是我想要的吗(有效的参数请求?)?有效吗?不起作用。。。类Authenticatable上的有效\u请求工作,但是,控制器操作不再工作[]Nil类错误。。。