CakePHP 3.7.3: использование SecurityComponent с Ajax с SPA - PullRequest
0 голосов
/ 07 февраля 2019

Это классическая проблема с ajax-запросом с включенным SecurityComponent.У меня в основном SPA.Это главная проблема.

Я использую также компонент CSRF, который работает нормально:

const response = await axios.post("/items/add.json", data, {
  headers: {"X-CSRF-Token": "<?= $this->getRequest()->getParam('_csrfToken') ?>"}
});

Что не работает, так это отправка _Token для компонента безопасности:

{message: "'_Token' was not found in request data.", url: "/.../add.json", code: 400,…}

Конечно, я могу отключить SecurityComponent.

Мне не нужен form / form-helper для моего запроса, тогда возникает вопрос, имеет ли смысл вообще использовать SecurityComponent здесь, когдаЯ не использую традиционное приложение на основе форм.Конечно, имеет смысл, что я ожидаю определенных полей / значений записей в определенных действиях, но я не уверен, как использовать это в сочетании с SecurityComponent.

Я думаю, я мог бы создать фиктивную форму с помощником иизвлечь токены оттуда, но это генерируется только один раз, и у меня есть SPA.

Это работает, конечно:

beforeFilter: $this->getEventManager()->off($this->Security);

...