У меня есть проект Java, который использует Spring.
Мне нужно защитить страницу входа от CSRF-атак.
На данный момент мой конфигурационный файл Spring xml содержит
<http>
...
<csrf disabled="true"/>
</http>
Из-за размера проекта я не могу позволить себе изменить все страницы и защитить их от CSRF прямо сейчас, но я бы хотел по крайней мере защитить эту, что, как мне кажется, один из самых важных. В частности, я не могу защитить конечную точку / logout, которая использует запрос GET (это было бы критическим изменением).
Как я могу просто защитить страницу входа без запроса выхода?
Я попытался сделать это:
<bean id="csrfMatcher" class="org.springframework.security.web.util.matcher.AntPathRequestMatcher">
<constructor-arg name="pattern" value="/j_spring_security_check"/>
<constructor-arg name="httpMethod" value="POST"/>
</bean>
<csrf request-matcher-ref="csrfMatcher" />
и добавить этот фрагмент кода в существующую форму входа:
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
Однако это изменение также влияет на запрос выхода из системы, чего хотелось бы избежать.
Спасибо