Spring 引导访问多部分请求(文件上传)headers 在请求完成之前

Spring boot access multipart request (file upload) headers before request completes

有没有一种方法可以在请求完成之前检查授权 header?如果用户未通过身份验证,我不想开始接受文件上传。我的代码是:

  @PostMapping(path = "/uploadLogo", produces = "application/json", consumes = "multipart/form-data")
    public ApiResponse handleFileUpload(@RequestParam("file") MultipartFile file, HttpServletRequest request){
  System.out.println(request.getHeader("Authorization")); 
  ...

这仅在文件上传后有效。

您可以使用 HTTP 过滤器。但这不会避免文件被上传。 HTTP 过滤器将在到达控制器之前拦截请求。如果您认为请求是正确的(具有足够的凭据),您将继续到控制器,否则,抛出异常。

我与您分享我的存储库,我在其中通过 JWT 在 HTTP 过滤器上实现了身份验证:https://github.com/serlesen/backend-social-network/tree/chapter_3