是否可以访问CanCan中url中传递的参数?我正在尝试根据网址中的令牌对来宾进行身份验证。
谢谢!
答案 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