Я использую Spring Boot 2 и Spring 5 для создания приложения, которое сохраняет две сущности: User и UserProfile. Это мой класс контроллера:
@RestController
@RequestMapping("userProfile")
public class UserProfileController {
@Autowired
private UserProfileService userProfileService;
@PostMapping(produces = "application/json")
@ResponseStatus(HttpStatus.CREATED)
public void createUserProfile(@RequestBody @Valid UserProfileDTO userProfileDTO, @AuthenticationPrincipal User user){
//code
}
@GetMapping
public ResponseEntity getUserProfile(@AuthenticationPrincipal User user){
//code
}
}
Ничего особенного, я получаю аутентифицированного пользователя, и я устанавливаю это и сохраняю его, или я получаю данные на основе аутентифицированного пользователя. Моя конфигурация безопасности:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
};
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
}
}
Теперь я хочу проверить с Почтальоном. GET работает нормально, я добавляю данные формы в Postman, и он аутентифицируется, и я могу отладить метод get. POST всегда обозначается как 403 Forbidden. Я не хочу отключать CSRF и / или Cors. Как я могу протестировать свое приложение, получить токен CSRF и установить его в Postman?