问题描述
Cancan/can 提供了一个非常有用的 check_authorization
method,它不是默认允许操作,而是首先检查是否已执行授权,如果明确授权,将禁止该操作继续尚未执行。换句话说,如果开发人员忘记对控制器进行授权,而不是假设该操作是允许的,它就会出错,直到授权明确为止。
这非常有用,但要找到确实忘记授权的情况,必须单独触发每个操作(手动或通过测试1)。>
是否有某种方法(可能是 rake 任务)对应用程序中的每个控制器操作运行 athorization_check
?
用例示例
这在各种情况下都会有帮助,但一种是当许多控制器操作发生一些重大变化时(例如变量命名的变化),并且许多行被删除/替换。鼠标的轻微滑动可能会导致意外覆盖单行(授权行)。然后,如果将这些更改推送到生产中,不满意的用户可能会发现它们。但是最好在开始生产之前彻底检查应用程序。
1 经过检查,我认为 check_authorization
在测试期间不会抛出异常显示
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)