如何在 gem 控制器中使用 CanCan?

10

我花了一些时间试图找出使用 CanCan 授权 gem 中控制器的最佳方法。我特别使用的是Comfortable Mexican Sofa。我已经配置好了 Devise 和 CanCan,但在 Comfy 中授权特定控制器时遇到了麻烦。我能够找到的与我需要的最相似的东西是 Fortress CMS gem

我尝试使用初始化程序和引擎来扩展before_action并编写简单的认证方法。关于 CanCan 和 Comfy 我能找到的唯一资料是 这里,但它只涉及站点登录而不是像页面、博客等特定控制器。

基本上,这归结为 - 我如何扩展 gem 控制器以便我可以特定地为该控制器验证用户?

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接