目前我有一个RestController产品控制器,它采用基本的授权字符串。
我们定义了一些无法更改的外部安全库。安全库定义了安全配置,读取Auth并将其转换为不带密码或原始字符串的主体。校长只有用户名。
我需要在不更改sec-lib的情况下提取在标头中传递的auth,你能告诉我我该怎么做吗??我们在java11中使用了spring-boot和spring-security。
要读取Spring Boot应用程序中的所有http标头,我们使用相同的@RequestHeader注释。为了收集所有的头值,我们可以选择在Map、MultiValueMap或HttpHeaders对象中收集值。让我们看看如何做到这一点:
@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);
});
}
}