お時間をいただきありがとうございます。簡単にするために、以下のようなサンプルサービスを作成しました。
@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
Everythisは順調です。
他のノードでは、netflix feignによって "service-comsumer"を作成しました。 Javaインターフェースです。
@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);
}
しかし、リクエストヘッダー「Authorization」の設定方法がわかりません。
何か案が?再度、感謝します。
たとえば、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)
それを試してみて、それが役立つことを願って
Ryan Baxter の訂正に感謝