gpt4 book ai didi

java - 在 Java 的 elasticsearch 高级客户端中添加身份验证

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:34 30 4
gpt4 key购买 nike

我在使用 X-PACK 保护的弹性云实例中使用 Elasticsearch 实例。

我之前一直在使用高级 rest 客户端,没有任何问题,但我无法找到如何在其上发送基本身份验证 header 。

我曾尝试将凭据作为 URL 的一部分,但在那种情况下似乎无法连接。

有没有人成功连接到具有高级 rest 客户端的安全 Elasticsearch ?

最佳答案

您可以为 Java 低级 REST 客户端指定用户名和密码,并将低级 REST 客户端传递给 RestHighLevelClient 实例。

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

RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200))
.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
@Override
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
}
});

RestHighLevelClient client = new RestHighLevelClient(builder);

引用资料:

关于java - 在 Java 的 elasticsearch 高级客户端中添加身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48185570/

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