security - 使用基本凭证提供者配置Elasticsearch Rest高级客户端

标签 security authentication elasticsearch resthighlevelclient

this SO answer of how to secure JHLRC注释中对我的this的后续问题中询问了此问题,我在这里解释了如何在Elasticsearch JHLRC请求中发送基本证书,但它不在客户端级别,而是在请求级别。
我觉得在客户端级别进行配置,可以避免在仅与少数用户打交道的情况下再次重复相同的代码,这将有助于在客户端本身中配置凭据。

最佳答案

您可以按照this official link中所述执行以下步骤。
使用CredentialsProvider创建BasicCredentialsProvider

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);
                    }
                }));

关于security - 使用基本凭证提供者配置Elasticsearch Rest高级客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62547260/

相关文章:

javascript - 如何实现帧破坏器?

ruby-on-rails - 如何在 Heroku 上阻止或过滤 IP 地址?

security - 64 位 RC2 的安全性如何?

authentication - 未初始化常量 SessionsController ROR 导轨 4

php - ongr.io的ElasticSearchBundle是否可以进行多索引搜索?

c# - 在 ASP.NET MVC 应用程序中处理记录/实体级别的安全性

authentication - 基于 Java EE 证书的相互身份验证

amazon-web-services - AWS Cognito 用户身份验证流程需要建议和建议

python-3.x - 带有范围过滤器的Elasticsearch地理多边形查询

java - Elasticsearch MultiSearchRequestBuilder