在CanCan中访问获取参数

时间:2011-06-14 13:20:45

标签: ruby-on-rails-3 authorization cancan

是否可以访问CanCan中url中传递的参数?我正在尝试根据网址中的令牌对来宾进行身份验证。

谢谢!

2 个答案:

答案 0 :(得分:5)

我最近使用此处描述的方法实现了类似的功能:

https://github.com/ryanb/cancan/wiki/Accessing-request-data

就我而言,它看起来像这样:

应用程序/控制器/ application_controller.rb:

class ApplicationController < ActionController::Base

  ...

  def current_ability
    @current_ability ||= Ability.new(current_user, params[:token])
  end

end

应用程序/模型/ ability.rb:

class Ability
  include CanCan::Ability

  def initialize(user, token=nil)
    ...
    can :read, Article, :tokens => { :token => token }
    ...
  end

end

答案 1 :(得分:2)

目前,我们正在使用类似的东西 前一个过滤器中的authorize! action, resource, session[:access_token] - 来自此页面:http://spreecommerce.com/documentation/security.html