【问题标题】:Does load_and_authorize_resource authorize every single action in a controller, or just RESTful ones?load_and_authorize_resource 是授权控制器中的每一个动作,还是仅仅授权 RESTful 动作?
【发布时间】:2021-01-23 02:52:43
【问题描述】:

TL;DR

基本上,我是否必须在不属于 7 个 RESTful 默认值之一的控制器操作中手动调用 authorize!,还是在那些非标准操作中 load_and_authorize_resource 仍然为我这样做?

加长版:

我通过rails scaffold 生成了一个控制器,然后添加了几个自定义操作来做一些随机的其他事情。

在控制器的顶部,我有load_and_authorize_resource,我相信在每个操作中都会调用authorize!

它是针对控制器中的每一个动作(包括自定义动作)还是由脚手架生成的动作都这样做? (即index, show, new, edit, create, update, destroy

我从cancancan docs看到:

为每个操作设置此项可能很乏味,因此提供了 load_and_authorize_resource 方法来自动授权 RESTful 样式资源控制器中的所有操作。

但我不确定这只是 7 个原件还是开发人员添加的其他内容

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-6 cancan cancancan


    【解决方案1】:

    简单的答案是是的,它将应用于控制器中的所有操作

    来自cancancan docs on choosing actions

    默认情况下,这将应用于控制器中的每个操作,即使它不是 7 个 RESTful 操作之一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-14
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      • 1970-01-01
      • 2016-03-07
      • 1970-01-01
      相关资源
      最近更新 更多