Spring安全获取授权header值

Spring security get authorization header value

目前我有一个采用基本授权字符串的 RestController ProductsController。

我们定义了一些无法更改的外部安全库。 安全库定义了安全配置并读取 Auth 并将其转换为没有密码或原始字符串的主体。校长只有用户名。

我需要在不更改 sec 库的情况下提取在 header 中传递的身份验证,您能告诉我该怎么做吗?我们使用 spring 引导和 spring 安全 java 11.

要在您的 Spring 引导应用程序中读取所有 http header,我们使用相同的 @RequestHeader 注释。要收集所有 header 值,我们可以选择将值收集到 Map、MultiValueMap 或 HttpHeaders object 中。让我们看看如何做到这一点:


@RestController
public class AllHeaderController {

    @GetMapping("/print-all-headers")
    public void getAllheaders(@RequestHeader Map<String,String> headers){
        headers.forEach((key,value) ->{
            System.out.println("Header Name: "+key+" Header Value: "+value);
        });
    }
}