Отслеживание запроса формы Spring Boot - PullRequest
0 голосов
/ 30 мая 2018

Я работаю над приложением Spring Boot MVC и думаю о том, как реализовать решение проблемы double form submit .

Решение, о котором я думаю, - это сгенерироватьуникальный идентификатор и прикрепить его к форме, когда пользователь запрашивает его.Затем, когда пользователь отправляет форму, сравните полученный идентификатор с оригиналом и, если они совпадают, отправьте его.Если поступят еще какие-либо запросы, я вижу, что это двойная отправка и отклонение запроса.

Решение простое, и я надеюсь, что смогу найти и простую реализацию.У меня есть около 8 различных форм Thymeleaf, которые мне нужно обновить, добавив уникальные идентификаторы, и я действительно не хочу добавлять идентификатор в POJO, поддерживающие формы Thymeleaf.Есть ли способ добавить уникальный идентификатор в заголовок http, который будет возвращен, или что-то подобное, что не потребует обновления Java Pojos?Спасибо

1 Ответ

0 голосов
/ 30 мая 2018

Вы можете включить токен CSRF в свою форму, и Spring позаботится об этом автоматически, хотя вам может потребоваться включить Spring Security, если вы еще не используете его в своем проекте.

например

<form>
    ...
    <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</form>

Официальная весенняя документация для CSRF с примерами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...