我正在使用Vue.js和CakePHP 3.6创建应用程序。
POST时,由于缺少 _Token 字段,安全组件将引发400错误。我没有CSRF令牌问题,只需进行安全性验证即可。
我不想在整个应用程序中禁用该组件。
我发现了一个非解决方案:从Cake \ View \ Helper \ SecureFieldTokenTrait中公开_buildFieldToken,但是我认为这可以避免SecurityComponent的目的。
任何帮助都受到欢迎和帮助。
答案 0 :(得分:0)
您需要通过获取或axios访问的控制器中的操作(例如:ajaxRequest)可以在控制器中被解锁:
如果使用蛋糕助手生成了表单,则_CSRFTOKEN在表单标签或隐藏的输入中(对不起,请检查浏览器中的Form元素),对令牌进行本地化后,请将其添加到。$数据中post()。
public function beforeFilter(Event $event)
{
//this line is not necessary if you pass the _csrfToken
$this->getEventManager()->off($this->Csrf);
$this->Security->setConfig('unlockedActions', ['ajaxRequest']);
}