Я пишу приложение (Java + Spring Boot с защитой на бэкэнд), Angularjs спереди. Мне нужно отправить файл на бэкэнд с помощью токена share (цель безопасности). У меня есть csrf включен на бэкэнде и перехватчике в угловом, чтобы использовать его, когда я создаю HTTP-запрос. Но это не работает с ng-dropzone.
Я добавил конфигурацию dropzone:
$scope.logoDropzoneConfig = {
parallelUploads: 1,
maxFileSize: 30,
url: '/api/companies/upload/logo',
};
Но у меня есть type=org.springframework.security.access.AccessDeniedException, message=Access is denied
.
Можно написать собственный метод отправки файлов вместо url в config?
Я разрешаю эту проблему этой ночью. В конфигурации dropzone я могу передать заголовки, поэтому я передаю токен авторизации, как показано ниже:
$scope.logoDropzoneConfig = {
parallelUploads: 1,
maxFileSize: 30,
url: '/api/companies/upload/logo',
headers: {
'Authorization' :AuthServerProvider.getToken()
}
};
Простой, не так ли? :)
http.csrf().ignoringAntMatchers("/api/companies/upload/logo")