Spring Security не разрешает методы POST - PullRequest
0 голосов
/ 31 января 2020

Я начал использовать Spring Security в личном проекте и хотел публично раскрыть только один путь. Для этого мне это понравилось

@Override
protected void configure(HttpSecurity http) throws Exception {

    //Enabling access to my public End Points (No authentication needed)
    http.authorizeRequests()
            .antMatchers(HttpMethod.POST, "/login").permitAll();

}

Дело в том, что теперь все мои POST-запросы возвращают Forbbiden , в то время как GETS свободны для доступа.

Делаете ли вы ребята, случайно есть подсказка?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 31 января 2020

Скорее всего, потому что вы не предоставили токен CSRF. WebSecurityConfigurerAdapter по умолчанию включает защиту CSRF для всех запросов POST.

Вы можете взглянуть на CsrfConfigurer, чтобы увидеть, как вы можете изменить его поведение, и CsrfFilter, чтобы увидеть его в действии. Сопоставление по умолчанию (DefaultRequiresCsrfMatcher) также определено в CsrfFilter.

0 голосов
/ 05 февраля 2020
http.authorizeRequests()
            .antMatchers("/login").permitAll()
            .anyRequest().authenticated()
            .and().csrf().disable();

Приведенный выше код помог мне, спасибо за помощь, ребята

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