Реагировать, SpringBoot и CSRF - PullRequest
       28

Реагировать, SpringBoot и CSRF

1 голос
/ 23 октября 2019

Я использую Spring Boot Security:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

Я отключил CSRF:

@Slf4j
@Configuration
public class AuthConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        super.configure(http);
        http.csrf().disable();

    }
}

Используя npm start, я запускаю следующий код в своем приложении React:

         axios
            .post(this.state.targetUrl+'/mpbpm/triggerProcess', {
                headers: {
                    'Access-Control-Allow-Origin': '*',
                    'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,PATCH,OPTIONS'
                }
            })

Результат:

Failed to load http://localhost:8080/mpbpm/triggerProcess: Response for preflight has invalid HTTP status code 401.

Почему это не удалось? Я пытаюсь изучить React, у меня есть фиктивный код, пытающийся получить значения с сервера. Какой самый простой способ заставить это работать?

1 Ответ

1 голос
/ 23 октября 2019

здесь:

         axios
            .post(this.state.targetUrl+'/mpbpm/triggerProcess', {
                headers: {
                    'Access-Control-Allow-Origin': '*',
                    'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,PATCH,OPTIONS'
                }
            })

вы добавляете пользовательские заголовки и отправляете перекрестную выборку, которая запускает предварительный запрос. Сервер не подготовлен к такому трафику, и все приводит к ошибке. Удалите эти заголовки.

...