如何在 spring 数据 elasticsearch 中添加 run-as header
How can I add the run-as header in spring data elasticsearch
我在 Google 上搜索了一段时间,但似乎无法通过 ElasticsearchTemplate/Operations
object 添加 header。我找不到任何方法来设置 es-security-runas-user
header。否则,我无法使用我的 REST 服务代表用户执行请求。有谁知道 Spring Data Elasticsearch 现在是否可以做到这一点?如果没有,我要重写很多代码...
您没有指定您使用的 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();
}
}
不可能在个别操作上发送 headers。
我在 Google 上搜索了一段时间,但似乎无法通过 ElasticsearchTemplate/Operations
object 添加 header。我找不到任何方法来设置 es-security-runas-user
header。否则,我无法使用我的 REST 服务代表用户执行请求。有谁知道 Spring Data Elasticsearch 现在是否可以做到这一点?如果没有,我要重写很多代码...
您没有指定您使用的 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();
}
}
不可能在个别操作上发送 headers。