gpt4 book ai didi

spring-security - 如何通过 feign 客户端使用基本身份验证保护的 Restful Web 服务

转载 作者:行者123 更新时间:2023-12-04 01:31:42 28 4
gpt4 key购买 nike

感谢您的时间。
为了简单起见,我创建了一个示例服务,如下所示:

@RestController
@RequestMapping("/")
public class ComputeController {

@GetMapping("/add")
public int add(@RequestParam("left") int left, @RequestParam("right") int right) {
return left + right;
}
}

为了保护这个 url,我像这样配置 spring-security:
management.security.enabled=true
security.user.name=admin
security.user.password=admin

当我启动此服务并像这样访问时:
GET /add?left=100&right=11 HTTP/1.1
Authorization: ***** Hidden credentials *****
Host: localhost:7777
Connection: close

一切都很顺利。

在其他节点中,我通过 netflix feign 创建了一个“服务消费者”。这是一个Java接口(interface)。
@FeignClient(name = "API-GATEWAY", path = "/compute-service", fallback = ComputeServiceCircuitBreaker.class)
public interface ComputeServiceClient {

@RequestMapping(path = "/add", method = RequestMethod.GET)
public Integer add(@RequestParam("left") Integer left, @RequestParam("right") Integer right);
}

但我不知道如何配置请求 header “授权”。

任何的想法?再次感谢。

最佳答案

您需要创建一个 FeignClient 配置类,例如

import feign.auth.BasicAuthRequestInterceptor;

@Configuration
public class FeignClientConfiguration {
@Bean
public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {
return new BasicAuthRequestInterceptor("admin", "admin");
}
}
然后在你的 @FeignClient注释使用此配置文件:
@FeignClient(name="service", configuration = FeignClientConfiguration.class)

关于spring-security - 如何通过 feign 客户端使用基本身份验证保护的 Restful Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39606744/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com