【问题标题】:CanCan skip authorization for some action可以跳过某些操作的授权
【发布时间】:2014-06-27 04:59:53
【问题描述】:

我无法解决 CanCan gem 的问题。在我的控制器中,我有动作“确认”,这是“预订”资源的成员路由。我不想在此操作中通过 CanCan 授权资源,所以我在控制器中执行类似操作:

load_and_authorize_resource except: :confirm

但现在我有错误:

This action failed the check_authorization because it does not authorize_resource. Add skip_authorization_check to bypass this check.

如何跳过授权以在 CanCan 中执行正确操作?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 cancan


    【解决方案1】:

    我认为这样的事情可能适用于您的控制器,

    skip_authorization_check only: :confirm
    load_and_authorize_resource except: :confirm
    

    希望这会有所帮助!

    【讨论】:

    • 是的,这就是答案:)
    【解决方案2】:

    对我来说,使用 cancancan 就像替换这个一样简单

    load_and_authorize_resource
    

    有了这个

    load_and_authorize_resource except: :webhook
    

    然后/webhook url 在未经授权的情况下工作

    【讨论】:

      猜你喜欢
      • 2021-10-11
      • 2012-09-11
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多