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