我的控制器名为ProductsController,我创建了一个名为set_status的操作,目的是接收来自.NET客户端应用程序的PUT API调用。 我已经正确设置了所有内容,但在发送请求后,我收到“无法验证CSRF令牌的真实性”错误。 以下是我在Application控制器中为CSRF保护所拥有的内容:
protect_from_forgery
为了绕过 CSRF 保护,我已经在我的产品控制器中添加了以下内容:skip_before_filter :set_status
在进行了这个更改的测试之后,我仍然收到相同的错误消息。根据我的理解,上面的代码行应该禁用产品控制器中“set_status”操作的CSRF保护,但似乎并没有起作用。
是否有人能够解释一下为什么它可能不起作用呢?非常感谢!
skip_before_action
而不是skip_before_filter
。(skip_before_filter
已被弃用) - Mark van Duijkerskip_forgery_protection
(它只是skip_before_action
的内置包装器)。 - Curious Sam