2017-02-10 7 views
-2

Как реализовать CSRF для каждого запроса в весенней безопасности 3.2.Currently он обрабатывается на сессию .Это является обязательным требованиемCSRF токен для каждого запроса в весенней безопасности

Пожалуйста опубликуют изменения, которые должны быть выполнено.

в securitycontext.xml

<http> 
    <csrf /> 
    </http> 

даются и приложение работает с маркером на сессию

+1

но почему? он не добавляет защиты и убивает кеширование и обратную кнопку –

+0

для приложения, требующего этой функции. Безопасное приложение – Fedrik

+0

. Обратная кнопка возврата также является обязательной. –

ответ

1

Вы можете изменить реализацию по умолчанию CsrfTokenRepository, предоставляя собственную реализацию этого интерфейса и настроить его любит:

<http> 
    <csrf token-repository-ref="myRequestCsrfTokenRepository"/> 
</http> 
<b:bean id="myRequestCsrfTokenRepository" 
     class="com.company.security.RequestCsrfTokenRepository"/> 

Но ... хотя вы написали, что это обязательное требование, вы должны действительно переосмыслить его снова. Я бы даже советовал убедить другого в том, что это изменение может принести большую пользу пользователям приложений, но также может принести массу неудобств, иногда странное поведение и, в целом, уменьшить удобство использования и пользователей. Например. см. Different csrf token per request in Spring security

+1

Я полностью согласен, что каждый запрос является излишним, и вы потратите много времени (недель), пытаясь заставить его работать таким образом, чтобы не раздражать конечных пользователей. Реализация по умолчанию хранит токен CSRF в сеансе, когда вы изменяете его для каждого запроса, в основном это делает невозможным наличие нескольких вкладок! –

+0

Благодарим за ответ. Я пробовал создавать пользовательский репозиторий, но я не получаю четкое представление о реализации. Реализация не позволяет мне войти в систему. Если мы создаем новый токен для каждого запроса, как мы можем сравнивать токены? пожалуйста помоги. – Fedrik

+0

Команда безопасности пыталась получить доступ, используя тот же токен.И находилось под впечатлением, что они взяли токен ответа. Мой плохой. При реализации этого одного токена будет использоваться для запроса ..i получил он будет реализовывать спасибо. – Fedrik

Смежные вопросы