Метод удаления отображает «запрещенное» сообщение - PullRequest
0 голосов
/ 11 мая 2019

Я тестирую приложение Spring-boot, которое позволяет мне удалять содержимое базы данных.Я временно предоставил доступ ко всем конечным точкам в моих конфигурациях:

 @Override
  protected void configure(HttpSecurity http) throws Exception {
      //Allow access to all endpoints
        http.cors().and().authorizeRequests().anyRequest().permitAll(); 
  }

И свойства:

spring.datasource.url=jdbc:mariadb://localhost:3307/cardb
spring.datasource.username=root
spring.datasource.password=******
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create-drop

spring.jpa.show-sql=true

spring.data.rest.basePath=/api

Затем я могу получить содержимое из базы данных, используя метод GET вприложение или из Postman Но я получаю:

{"отметка времени": "2019-05-11T17: 57: 36.310 + 0000", "статус": 403, "ошибка":«Запрещено», «сообщение»: «Запрещено»,}

, когда я пытаюсь удалить методом DELETE.

Почему у меня возникает эта ошибка и как я могу ее получитьавторизация, чтобы наконец иметь возможность удалять объекты из базы данных?

1 Ответ

1 голос
/ 12 мая 2019

Вы должны отключить CSRF (Подделка межсайтовых запросов), которая включена по умолчанию для любого метода, который изменяет состояние (PATCH, POST, PUT и DELETE - не GET):

@Override
protected void configure(HttpSecurity http) throws Exception {
     //Allow access to all endpoints
     http.csrf().disable().cors().and().authorizeRequests().anyRequest().permitAll(); 
}
...