如何在Spring Data Elasticsearch中添加运行方式标头

时间:2019-12-12 20:32:54

标签: java spring elasticsearch spring-data-elasticsearch

我已经花了一段时间在Google上进行搜索,但是似乎无法通过ElasticsearchTemplate/Operations对象添加标头。我找不到设置es-security-runas-user标头的任何方法。否则,我将无法使用我的REST服务代表用户执行请求。有谁知道Spring Data Elasticsearch现在有可能吗?如果没有,我必须重写很多代码...

1 个答案:

答案 0 :(得分:0)

您未指定要使用的Spring Data Elasticsearch版本。

在当前版本3.2中,您可以使用以下配置Bean:

@Configuration
public class RestClientConfig extends AbstractElasticsearchConfiguration {

    @Override
    @Bean
    public RestHighLevelClient elasticsearchClient() {

        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.add("es-security-runas-user", "some-user");
        final ClientConfiguration clientConfiguration = ClientConfiguration.builder() //
                .connectedTo("localhost:9200") //
                .withDefaultHeaders(httpHeaders) //
                .build();

        return RestClients.create(clientConfiguration).rest();
    }
}

不可能通过单个操作发送标头。