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);
});
}
}
目前我有一个采用基本授权字符串的 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);
});
}
}