CakePHP 3安全组件和使用VueJS的表单字段



我正在使用Vue.js和CakePHP 3.6创建一个应用程序。

POST时,安全组件抛出一个400错误,因为_Token字段丢失。我对CSRF令牌没有问题,只是表单安全验证。

我不想禁用整个应用程序中的组件。

我发现了一个非解决方案:从Cake\View\Helper\SecureFieldTokenTrait中暴露_buildFieldToken,但我认为这将避免SecurityComponent的目的。

任何帮助都是非常欢迎和通知。

您需要通过fetch或axios访问的控制器中的操作(例如:ajaxRequest(可以在控制器中解锁:

如果您已经使用蛋糕助手生成了表单,那么_CSRFTOKEN在表单标签或隐藏输入中(很抱歉,请检查浏览器中的form元素(,当您本地化了令牌后,将其添加到的数据中$post((。

ajax请求cakefp

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']);
}

最新更新