如何使用CanCan与宝石控制器?

时间:2015-11-04 18:50:54

标签: ruby-on-rails ruby-on-rails-4 devise cancan comfortable-mexican-sofa

我花了一些时间试图找出一个授权控制器的最佳方法,该控制器来自CanCan的宝石。我特意使用Comfortable Mexican Sofa。我已经使用Devise和CanCan进行了全部设置,但在Comfy中授权特定控制器时遇到了问题。我能找到的与我所追求的最接近的是Fortress CMS gem

我尝试使用初始化程序和引擎来扩展before_action并编写一个简单的auth方法。我唯一可以找到CanCan和Comfy的是here,但它只针对网站登录而不是特定的控制器,如页面,博客等。

基本上,它来了 - 我如何能够扩展gem控制器,以便我可以专门为该控制器验证用户?

1 个答案:

答案 0 :(得分:5)

initializer上,您可以自定义自己的授权逻辑:

# Uncomment this module and `config.public_authorization` above to use custom public authorization
module ComfyPublicAuthorization
  def authorize
    # TODO: your own authorization logic. Check params variable here
    true
  end
end