我正在使用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中进行设置?