【问题标题】:Configure Elasticsearch rest high level client with Basic credential provider使用基本凭证提供程序配置 Elasticsearch REST 高级客户端
【发布时间】:2020-06-24 03:44:04
【问题描述】:
【问题讨论】:
标签:
security
authentication
elasticsearch
resthighlevelclient
【解决方案1】:
您可以按照this official link中提到的以下步骤进行操作。
使用BasicCredentialsProvider 创建CredentialsProvider。
final CredentialsProvider credentialsProvider =
new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials("elastic", "elastic"));
现在在构建其余客户端 (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);
}
}));