ElasticSearch进行进行权限验证
我们可以为ElasticSearch服务,添加我们的 用 户 名 以 及 密 码 \color{red}{用户名以及密码} 用户名以及密码进行权限验证。那么我们就需要在我们的代码中进行授权,不然就会提示提示No Authentication
的错误信息。
1.Spring Boot与ElasticSearch结合
当使用ElasticSearch和Spring Boot相结合的时候,我们可以在application.yaml
配置文件中,加入下面的属性为其添加用户名以及密码验证。代码无需进行任何改动即可完成授权工作。
spring:elasticsearch:rest:username: elasticpassword: elastic
2.单独使用ElasticSearch进行授权
- 首先在pom.xml文件中添加
ElasticSearch
的依赖文件:
<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.8.1</version></dependency>
- 在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的进行了说明。
- 在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
对象。等等操作
更多精彩内容:请关注公众号:
ElasticSearch进行进行权限验证相关推荐
- shopnc 支持 支付宝快捷登陆 shopnc权限验证原理说明
为目前使用的是shopnc商场二次开发,shopnc本身做了qq互联和微博快捷登陆的api,做成了集成通用的接口 首先说下基本的这种类型的api访问方式,首先,的有个配置文件,配置你申请的id和key ...
- 【ASP.NET】ASP.NET中权限验证使用OnAuthorization实现
在项目开发中,通常我们都会涉及到用户登录才能访问的网页,比如购物网站,我们浏览商品,添加购物车(以前开发的时候在这里就需要登录用户,但是现在有了缓存的实现,这里可以将商品加入缓存,等到结账的时候再登录 ...
- springboot + 拦截器 + 注解 实现自定义权限验证
springboot + 拦截器 + 注解 实现自定义权限验证 最近用到一种前端模板技术:jtwig,在权限控制上没有用springSecurity.因此用拦截器和注解结合实现了权限控制. 1.1 定 ...
- android token过期怎么跳转登录_用sa-token轻松解决网站权限验证
sa-token是什么? 一个的JavaWeb权限认证框架,强大.简单.好用 与其它权限认证框架相比,sa-token尽力保证两点: - 上手简单:能自动化的配置全部自动化,不让你费脑子 - 功能强大 ...
- 2_MVC+EF+Autofac(dbfirst)轻型项目框架_用户权限验证
前言 接上面两篇 0_MVC+EF+Autofac(dbfirst)轻型项目框架_基本框架 与 1_MVC+EF+Autofac(dbfirst)轻型项目框架_core层(以登陆为例) .在第一篇中介 ...
- 基于 Annotation 拦截的 Spring AOP 权限验证方法
余 清, 软件工程师, IBM 简介: 使用 Annotation 可以非常方便的根据用户的不同角色,分配访问 Java 方法的权限.在 Java Web 开发中,使用这种方法,可以提高系统的松耦合度 ...
- Swagger生成的接口需要权限验证的处理方法
通常开发API的时候需要对接口进行权限验证,而我们在使用Swagger生成接口文档界面的时候,直接调用需要权限验证的接口会提示"当前用户没有登陆" 为了解决此问题,我们需要更改一下 ...
- struts2学习笔记--拦截器(Interceptor)和登录权限验证Demo
理解 Interceptor拦截器类似于我们学过的过滤器,是可以在action执行前后执行的代码.是我们做web开发是经常使用的技术,比如权限控制,日志.我们也可以把多个interceptor连在一起 ...
- 简单扩展shiro 实现NOT、AND、OR权限验证(支持复杂一点的表达式)
2019独角兽企业重金招聘Python工程师标准>>> 简单扩展shiro 实现NOT.AND.OR权限验证(支持复杂一点的表达式) .https://my.oschina.net/ ...
最新文章
- oracle dataguard详解,Oracle DataGuard数据备份方案详解
- 船舶定位实时查询系统_真趣:IDC机房人员定位系统,位置实时监测,巡检路线智能规划...
- 第九节: EF的性能篇(二) 之 Z.EntityFramework.Extensions程序集解决EF的性能问题
- Linux无网络升级gcc,Linux离线(手动)升级GCC
- Java-Integer和int有什么区别
- UC:我们是怎么做出 Chromium M35 内核浏览器
- 这真有点“凶”... 开发转测试,薪资不降反升
- mysql cluster 乱码_Mysql中文乱码问题完美解决方案
- python verilog就业_Verilog会被淘汰吗?
- 计算机二级系统环境,计算机等级二级Java考试辅导:“系统和环境”单元综合复习...
- python选择排序代码_Python 数据结构与算法——选择排序(迭代版、递归版)
- ofd 文件发票解析
- 在MarkDown的表格中插入代码
- python制作网页挂机_Python实现自动挂机脚本(GUI 打包)
- 手把手指导制作一个 WebAR 与小程序 AR
- 图灵联邦:一个全能、多元生态的IT技术交流社区
- 物理-三菱镜-三菱镜效应:三菱镜效应 百科
- NVL、NVL2、NULLIF、COALESCE的区别是什么?
- Hibernate的evict方法和clear方法的区别
- 瑞星误删用友服务文件ServerNT.exe
热门文章
- js sha256加密和java,在C#中的sha256加密和js中的sha256加密结果不同
- 大神教你如何剪辑热播剧《你是我的荣耀》,3分钟精彩片段变现!【覃小龙课堂】
- Java程序员的JavaScript学习笔记(13—— jQuery UI)
- c语言简单的while语句,C语言入门 — while语句
- AVX |贴片钽电容的频率特性分析
- Verilog中的integer类型
- [更新] 开源网管软件Cacti系列讲座视频【优酷】
- 微型计算机CAD是什么意思,CAD是什么?CAD有哪些功能?
- C语言的基本的输入输出
- 绝地求生大逃杀体验服服务器维护,《绝地求生大逃杀》PC版今日服务器更新维护 上线测试服内容!...