使用基本凭据提供程序配置 Elasticsearch rest 高级客户端



这个问题是在我关于如何保护JHLRC的后续问题的后续问题中提出的,我解释了如何在Elasticsearch JHLRC请求中发送基本凭证,但它不在客户端级别,而是在请求级别。

我觉得在客户端级别进行配置,可以避免在您只与少数用户打交道的情况下再次重复相同的代码,在客户端本身中配置凭据会很有帮助。

您可以按照此官方链接中提到的以下步骤进行操作。

使用BasicCredentialsProvider创建CredentialsProvider

final CredentialsProvider credentialsProvider =
new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials("elastic", "elastic"));

现在在构建 rest 客户端 (JHLRC( 时使用CredentialsProvider

RestHighLevelClient restHighLevelClient = new RestHighLevelClient(
RestClient.builder(new HttpHost(scannerConfiguration.getElasticsearchConfig().getHost(),
scannerConfiguration.getElasticsearchConfig().getPort(),
"http")).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
@Override
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
return httpClientBuilder
.setDefaultCredentialsProvider(credentialsProvider);
}
}));

相关内容

  • 没有找到相关文章

最新更新