设计允许在单个控制器操作上进行令牌认证

时间:2012-06-18 10:53:11

标签: ruby-on-rails ruby devise

我有一个web应用程序,它对所有控制器使用设计数据库身份验证,但我希望有一个控制器操作,其中也使用令牌进行身份验证。我可以使用设计吗?

1 个答案:

答案 0 :(得分:5)

设计策略有valid?方法,可以调用该方法来确定是否应该启用策略。这允许您基于每个控制器/操作控制可用的身份验证策略。

将它放在初始值设定项中:

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

让我知道它是否有效。