ElasticSearch进行进行权限验证

本文详细介绍了在SpringBoot与ElasticSearch结合时如何通过配置文件添加用户名及密码进行权限验证,以及在单独使用ElasticSearch时,如何通过修改pom.xml文件添加依赖,并在代码中实现基本的授权信息配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们可以为ElasticSearch服务,添加我们的 用 户 名 以 及 密 码 \color{red}{用户名以及密码} 进行权限验证。那么我们就需要在我们的代码中进行授权,不然就会提示提示No Authentication的错误信息。

1.Spring Boot与ElasticSearch结合

当使用ElasticSearch和Spring Boot相结合的时候,我们可以在application.yaml配置文件中,加入下面的属性为其添加用户名以及密码验证。代码无需进行任何改动即可完成授权工作。

spring:
  elasticsearch:
    rest:
      username: elastic
      password: elastic

2.单独使用ElasticSearch进行授权

  1. 首先在pom.xml文件中添加ElasticSearch的依赖文件:
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.8.1</version>
        </dependency>
  1. 在ElasticSearch无需授权的时候:
    我们可以使用ElasticSearch High Level创建一个客户端对象,完成后续向ElasticSearch服务发送请求:
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http"));
RestHighLevelClient client = new RestHighLevelClient(builder);

注意:ElasticSearch High Level的文档中 并 没 有 \color{red}{并没有} 提及如何进行登录验证操作,文档而是在Low Level Basic Authentication的进行了说明。

  1. 在ELasticSearch需要权限验证:
    我们可以在构建RestClient.builder方法的时候,提供一个HttpClientConfigCallback接口实例为ElasticSearch配置基本的授权信息。通过setHttpClientConfigCallback方法设置HttpClientConfigCallBack实例,代码如下:
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
//  设置用户名以及密码
UsernamePasswordCredentials usernamePasswordCredentials = new UsernamePasswordCredentials("elastic", "elastic");
credentialsProvider.setCredentials(AuthScope.ANY, usernamePasswordCredentials);

RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http"))
									.setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));
RestHighLevelClient client = new RestHighLevelClient(builder);

注意:第二步第三步使用 其 中 一 个 \color{red}{其中一个} 就可以了。第二步表示没有授权的时候,连接ElasticSearch服务的方法,而第三步表示ElasticSearch有授权时候,连接ElasticSearch服务的方法。

剩下的工作就和没有授权的时候一样了。例如搜索的时候,创建一个SearchRequest对象,添加数据的时候,创建一个IndexRequest对象。等等操作


更多精彩内容:请关注公众号:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值