ОБНОВЛЕНИЕ (январь 2014 г.): Spring Security 3.2 содержит реализацию CSRF-Token.
Для Spring Security < = 3.1:
Поскольку CSRF имеет отметив делать с Spring Secruity (Authentication & авторизации) и могут быть реализованы отдельно друг от друга.
Существует несколько реализаций CRSF, основанных на фильтрах. Например, один поставляется с Tomcat 7, а Tomcat 6.0.something
Когда я попытался использовать их (летом 2011 года), у меня нет чувства, что он работает хорошо. Итак, я реализовал свои собственные.
EDIT (апрель 2012): Моя реализация работает с Spring 3.0, если вы используете Spring 3.1, то есть смотреть на Eyal Lupu's answer и его Blog он использует некоторые Spring 3.1 функции, поэтому обработка фильтра является более легким.
Я не опубликовал его до настоящего времени (нет времени). Но ты будешь. Вы можете скачать его (это первый раз я использую 4shared.com, я надеюсь, что он работает):
Недостаток моей реализации в том, что вам нужно чтобы добавить токен в каждую форму, которая отправляет POST, DELETE, PUT.
JSP (х):
xmlns:crsf="http://www.humanfork.de/tags/de/humanfork/security/crsf"
...
<form ...>
<crsf:hiddenCrsfNonce/>
....
</form>
web.xml
<filter>
<filter-name>IdempotentCrsfPreventionFilter</filter-name>
<filter-class>de.humanfork.security.crsf.IdempotentCsrfPreventionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>IdempotentCrsfPreventionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Вы правы, весна не имеет такой поддержки. Но в чем вопрос? – Ralph
Хорошо. Вопросительный знак отсутствовал. Прости. Есть ли библиотека, которая охватывает как Spring Security + Spring MVC с защитой CSRF? Или это достаточно, чтобы покрыть Spring MVC, поскольку CSRF вреден только при аутентификации пользователя? –