10

我花了一段时间试图找出使用 CanCan 授权来自 gem 的控制器的最佳方法。我专门使用舒适的墨西哥沙发。我使用 Devise 和 CanCan 进行了所有设置,但无法从 Comfy 中授权特定控制器。我能找到的与我所追求的最接近的是Fortress CMS gem

我尝试使用初始化程序和引擎来扩展before_action和编写一个简单的身份验证方法。我唯一能找到的 CanCan 和 Comfy 是在这里,但它只是解决站点登录问题,而不是特定的控制器,如页面、博客等。

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

4

1 回答 1

5

初始化器上,您可以自定义自己的授权逻辑:

# 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
于 2015-11-08T15:32:06.210 回答