от
В рамках Spring я в настоящее время пытаюсь использовать пользовательские заголовки, а не URL-адреса, чтобы различать некоторые конечные точки. В настоящий момент я не могу понять, как разрешить определенный URL с настраиваемым заголовком, но запретить другой в Spring Security. Моя конфигурация безопасности в настоящее время имеет antMatcher, который выглядит следующим образом:
.antMatchers( HttpMethod.POST, "/api/website

Однако у меня есть несколько других методов 'POST', которые также защищены - для этой конкретной конечной точки я хочу, чтобы она была идентифицирована и исключена только через отправленные заголовки.

Как вы узнали о том, что Spring Security сказал, что этот URL должен пройти через не прошедший проверку подлинности?

 @PostMapping( headers = "X

но этот, например, не (и полагается на аутентифицированного пользователя)?

@PostMapping( headers = "X
    

        

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Вы всегда можете реализовать
RequestMatcher
, чтобы определить свою настраиваемую логику сопоставления HTTP-запросов. Если matcher возвращает true для HTTP-запроса, он разрешит этому запросу доступ:
public MyRequestMatcher implements RequestMatcher {

    boolean matches(HttpServletRequest request){
         //Define the matching logic here....
         if(request.getHeader("xxx") != null
...