Spring POST метод безопасности, выбрасывающий ошибку 403 - PullRequest
1 голос
/ 23 апреля 2019

Я создаю форму регистрации пользователя.У меня есть POST конечная точка для регистрации, и я могу успешно зарегистрироваться.

У меня есть другая конечная точка с именем /invalid-token, которая также сопоставлена ​​с POST сопоставлением.Я добавил обе конечные точки к правилам permitAll, как показано ниже:

 http.authorizeRequests()
     .antMatchers(
         "/register",
         "/confirm",
         "/invalid-token",
         "/registration-success")
     .permitAll()
     .anyRequest()
     .authenticated();

Когда я делаю POST запрос к invalid-token из браузера, я получаю 403.Я не понимаю, где я иду не так.

Response Status:
        General:
        Request URL: http://localhost:8081/invalid-token
        Request Method: POST
        Status Code: 403 
        Remote Address: [::1]:8081
        Referrer Policy: no-referrer-when-downgrade



  Cache-Control: no-cache, no-store, max-age=0, must-revalidate
   Content-Length: 0
   Date: Tue, 23 Apr 2019 05:14:30 GMT
   Expires: 0
   Pragma: no-cache
   X-Content-Type-Options: nosniff
   X-Frame-Options: DENY
   X-XSS-Protection: 1; mode=block

1 Ответ

3 голосов
/ 23 апреля 2019

Я бы порекомендовал вам следовать стандартным определениям API при определении микроуслуг.

Возможно, задан шаблон, который вы определили, т.е. /invalid-token

CSRF disable работал, потому что в URL вашего API шаблон /invalid-token имеет специальный символ, который, я думаю, разрешен SpringSecurity.

Когда CSRF включен, чем-то, как - заставляет пружину безопасности пометить его как 403.

Вы можете попробовать с шаблоном /invalid/token и даже с включенным CSRF, и он должен получить требуемое поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...