Spring boot 在Kubernetes/Spring引导服务之间传递用户信息

Spring boot 在Kubernetes/Spring引导服务之间传递用户信息,spring-boot,kubernetes,spring-security,Spring Boot,Kubernetes,Spring Security,情况如下: 我在服务1中有一个RestController。 作为服务1中功能(标准方法)的一部分,需要服务2提供信息,服务2也是RestController,但处于完全独立的Kubernetes进程中。 我使用RestTemplate调用服务2,这是一种标准的HTTP GET。 出于审核原因,应记录服务2中信息的获取。 这就是我头痛的开始。 我需要在服务1中获取已登录的用户名,目前,作为低预算解决方案,我在服务1中提取用户名并将其作为请求参数传递。 服务2也是新的,由我实施,并打算在将来成为其

情况如下:
我在服务1中有一个RestController。
作为服务1中功能(标准方法)的一部分,需要服务2提供信息,服务2也是RestController,但处于完全独立的Kubernetes进程中。
我使用RestTemplate调用服务2,这是一种标准的HTTP GET。
出于审核原因,应记录服务2中信息的获取。
这就是我头痛的开始。
我需要在服务1中获取已登录的用户名,目前,作为低预算解决方案,我在服务1中提取用户名并将其作为请求参数传递。
服务2也是新的,由我实施,并打算在将来成为其他服务的通用组件。
因此,我更愿意让用户信息从Sprint启动内部的任何东西中提取出来,以实现这一点,避免其他开发人员传递一些垃圾文本

使用OAuth2、jwt和@PreAuthorize保护整个设置


除了当前的低预算设置之外,我还有哪些选项?

尝试从身份验证auth=SecurityContextHolder.getContext().getAuthentication()获取用户名;由于您是使用JWT进行安全保护的,我是否正确地假设您也通过授权头将JWT传递给服务2?服务器2中是否有您可以使用的声明?