В рамках Spring я в настоящее время пытаюсь использовать пользовательские заголовки, а не URL, чтобы различать некоторые конечные точки. В настоящий момент я не могу понять, как разрешить определенный URL с настраиваемым заголовком, но запретить другой в Spring Security. Моя конфигурация безопасности в настоящее время имеет antMatcher, который выглядит следующим образом:
.antMatchers( HttpMethod.POST, "/api/website-user" ).permitAll()
Однако у меня есть несколько других методов 'POST', которые также защищены - для этой конкретной конечной точки я хочу, чтобы она была идентифицирована и исключена только через отправленные заголовки.
Как вы узнали о том, что Spring Security сообщил, что этот URL-адрес должен пройти через не прошедший проверку подлинности
@PostMapping( headers = "X-Operation-Name=forgot-password" )
public WebsiteUser forgotPassword( @Valid PasswordResetRequestModel passwordReset )
но этот, например, не (и полагается на аутентифицированного пользователя)?
@PostMapping( headers = "X-Operation-Name=resend-verification" )
public WebsiteUser resendVerification( Principal principal )