Я полагаю, что вы спрашиваете:
Как запретить запросы POST из других источников?
И вы заявляете, что:
Я хочу убедиться, что запрос POST приходит только из моей формы!
Spring Security делает это автоматически для HTML-форм.Мы называем эту функцию
Предотвращение CSRF
- C ross
- S ite
- R equest
- F orgery
Spring Security делает это автоматически для вас.Любой запрос POST проверяется на наличие CSRF-токена .Значение, которое Spring устанавливает, когда браузер загружает форму.Без этого токена Spring Security возвращает ошибку 403 (ссылка)
Например:
http
//application security
.mvcMatcher("/**")
.authorizeRequests()
.anyRequest().hasAnyRole("ADMIN","USER")
.and()
.httpBasic()
.and()
.formLogin()
;
с включенной защитой CSRF.Чтобы отключить его, мы добавляем .csrf().disable()
http
//application security
.mvcMatcher("/**")
.authorizeRequests()
.anyRequest().hasAnyRole("ADMIN","USER")
.and()
.httpBasic()
.and()
.formLogin()
.and()
.csrf().disable()
;
Вы можете видеть, как этот пользователь (ссылка) не смог отправить POST без токена CSRF.Решением этого пользователя было отключить защиту от CSRF, потому что она включена по умолчанию.
Ответ на ваш вопрос: Вам не нужно ничего делать.Защита от CSRF включена по умолчанию.