Я использую Spring Boot 2.1.1. Я думаю Защита CSRF включена по умолчанию для этой версии Spring Boot (поправьте меня, если я ошибаюсь). Я пытаюсь настроить защиту CSRF для моего java веб-приложения, но я не совсем уверен, какие изменения нужно внести, чтобы появился токен CSRF.
Я пытаюсь проверить для токена CSRF через браузер. Тем не менее, кажется, что имя и значение токена отображаются пустыми.
Мой jsp код:
<table>
<c:forEach items="${model.containerObjects}" var="file">
<tr>
<form action="/path/container?fileName=${file.getName()}" method="post" id="${file.getName()}">
<input form="${file.getName()}" type="hidden" value="${file.getName()}" />
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
<td><a href="javascript:{}" onclick="document.getElementById('${file.getName()}').submit()">${file.getName()}</a></td>
<td>${file.getContentLength()}</td>
<td>${file.getLastModified()}</td>
</form>
</tr>
</c:forEach>
</table>
Тем не менее, строка, где (я предполагаю) токен CSRF должно быть на переднем конце выглядит следующим образом:
<input type="hidden" name="" value="">
Я также убедился, что метод бэкэнда, соответствующий этой конечной точке, помечен @POST. Что-то еще мне не хватает?