Spring 中的 Elasticsearch HTTP 身份验证

2023-12-13

我想访问受用户名和密码保护的远程elasticsearch。https://[用户名]:[密码]@aws-eu-west-1-portal1.dblayer.com:11109/

在 Spring 中,使用 XML 配置我能够访问我的本地主机弹性,如下所示

<!-- ElasticSearch -->
<elasticsearch:repositories base-package="be.smartsearch.service.repository.elasticsearch" />

<elasticsearch:transport-client id="esClient" cluster-nodes="localhost:9300" />

<bean id="elasticsearchTemplate" class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">
  <constructor-arg name="client" ref="esClient" />
</bean>

到目前为止我发现的唯一有用的文档是 PHP 的:https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_security.html

如何使用 Spring 数据中的凭据和 XML 配置连接到远程 Elasticsearch?

UPDATE 1

在 Mongo 中我可以通过以下方法做到这一点

<!-- Mongo -->
<mongo:mongo host="${mongo.host}" port="${mongo.port}"/>

<mongo:db-factory dbname="SmartSearchAfterDemo" mongo-ref="mongo" username="${mongo.user}" password="${mongo.password}"/>
<!--<mongo:db-factory dbname="${mongo.dbname}" mongo-ref="mongo"/> -->

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>

<mongo:repositories base-package="be.smartsearch.service.repository.mongo"/>

Spring Data Elasticsearch 基于官方 Elasticsearch Java 客户端,该客户端使用二进制传输协议(而不是像 PHP 那样的 REST HTTP 协议)。

如果您使用 Shield 来保护 Elasticsearch,那么您可以在传输客户端/传输协议上设置用户/密码

TransportClient client = TransportClient.builder()
    .addPlugin(ShieldPlugin.class)
    .settings(Settings.builder()
        .put("cluster.name", "yourcluster")
        .put("shield.user", "youruser:yourpassword")
        ...
        .build())

如果您不想在 Java 代码中使用 HTTP 协议,那么可以使用社区客户端:

  • Jest它支持HTTP认证
  • 弹性搜索 HTTP这是相当新的

但这些解决方案与 Spring Data 不兼容

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 中的 Elasticsearch HTTP 身份验证 的相关文章

随机推荐

  • support-library-v4 的依赖问题

    我想在 Eclipse 中导入 2 个现有项目作为库 这两个库项目都依赖于support library v4并有一个 jar 文件 因此 当我导入它们时 系统会要求我修复依赖项 我收到此错误 Jar mismatch Fix your d
  • 在类似 C 的语言中,空格是否被视为标记?

    空格是否被视为 C 类语言中的一种标记 尤其对 C 感兴趣 K R 中的参考手册对此似乎有点含糊 不 空格不会被视为令牌 从http c0x coding guidelines com 6 4 html 标准文本草案 不幸的是实际标准需要花
  • Fortran语言中的多态性

    我有一个类似的代码 Module C sys use class A implicit none Private Type public C sys type private logical Ao set false type A Ao C
  • 如何从用户控件处理页面事件? (VB.net)

    我希望在用户控件生命周期的 预加载 阶段执行一些代码 但是预加载事件仅适用于 Page 对象 因此 我将以下方法添加到我的用户控件中 Private Sub Page PreLoad ByVal sender As Object ByVal
  • 角度平移即时方法不起作用

    我们有一个带有角度翻译的网站 它工作完美 我们有一个变量 我们想用某种语言键来固定它 假设网站的语言有 en 和 zh 作为选项 我希望无论语言选择如何 某个翻译都以 zh 返回 通过浏览API参考 我找到了一种名为 Instant 的方法
  • C++ 宏乘法是怎么回事

    define MAX 265 std cout lt lt 0 MAX lt lt std endl to my surprise the output is 9 rather than 0 这个 C 宏乘法有什么问题 EDIT 以下是完整
  • 使用 ElementTree 解析具有特殊字符的 XML

    我尝试使用 GET 服务进行解析ElementTree 其内容我不控制 包含非 UTF8 特殊字符 respXML response content decode utf 8 respRoot ET fromstring respXML 第
  • 用前导零填充数字列

    过去几个小时我一直在研究这个问题 我尝试过使用sprintf但它会将列更改为字符 我想要做的就是拥有一个固定宽度的数字列 并用零填充 如果您愿意使用自定义类 则可以编写一个打印方法来执行此操作 制作一个数据框 并为其指定一个自定义类 DF
  • 根据顶部图像的 Alpha/透明度混合两个 uiimage

    我正在尝试将背景与前景图像混合 其中前景图像是带有线条的透明图像 我正在尝试这样做 UIGraphicsBeginImageContext CGSizeMake 320 480 CGContextRef context UIGraphics
  • ORION:获取订阅列表

    我有兴趣访问活动订阅列表 但在阅读了所有有关 API 的 wiki 后 https forge fi ware org plugins mediawiki wiki fiware index php Publish Subscribe Br
  • 与empty、isset、!empty、!isset 混淆

    我有以下内容无法正常工作 GET category 也可以等于0 if empty GET category do something else do something else 我如何重写这个 if 语句来做 3 件不同的事情 做某事如
  • JSOUP - 如何使用 JSOUP 抓取“需要登录”页面

    我在抓取我想要抓取的确定的网站时遇到困难 问题是 成功登录该网站后 我无法访问需要有效登录的链接 例如 public Document executeLogin String user String password try Connect
  • PHP 联系表 - 发送后希望留在我的网站上

    我正在创建 PHP 联系表单我所遇到的只是我的 php 脚本的一个小问题 当电子邮件发送出去时 会调用一个新的 谢谢 页面 因此 带有联系表单的实际网站消失了 但我不希望这种情况发生 如果按下发送按钮我想要stay在我的网站上 显示一个空的
  • 如何对 pandas DataFrame 中的连续值进行分组

    我在 DataFrame 中有一个列 其中包含值 1 1 1 1 1 1 我怎样才能像这样将它们分组 1 1 1 1 1 1 您可以使用groupby按习惯Series df pd DataFrame a 1 1 1 1 1 1 print
  • 在 R 中按列中的行值和行中的列值对 data.frame 进行排序

    我有六只玄凤鹦鹉鸟 Beefy Scoundrel Baston Mattdamon Jesus and Hulkhogan 这些鸟拉屎很多 而且在很多不同的地方 我决定追踪过去两周内这种情况发生的地点和频率 并且我试图找出这些小恶魔今天在
  • 添加内联注释后 Bash 命令停止工作

    在子 shell 中生成的新值的分配在没有尾随注释的情况下也可以工作 newname echo newname sed s TD oldnewTD TD r ftd1 但变量newname如果添加尾随注释 则保持不变 newname ech
  • 暂停所有其他视频,无论页面上有多少视频

    因此 我在一个多页面项目上使用 video js 该项目的页面每个页面上的视频数量不同 我想播放一个视频来暂停页面上播放的任何其他视频 我已经让它工作了 但我的代码只有在专门针对该页面制作时才有效 而不是单独处理每个页面 HTML 示例
  • 从抽象基类实现纯虚函数:重写说明符有什么意义吗?

    背景 我刚刚偶然发现了一个用例override说明符据我所知 这似乎是多余的 而且也没有任何特定的语义含义 但也许我遗漏了一些东西 因此这个问题 在继续之前 我应该指出 我试图在这里找到答案 但我得到的最接近的是以下线程 并没有真正回答我的
  • Selection.OnAction = "工作簿名称!Macroname"

    假设您有两个工作簿 一个名为 MyWorkbook 另一个名为 PatchMyWorkbook 两个工作簿在保存时都打开 PatchMyWorkbook 有一个宏 用于添加按钮并将 MyWorkbook 的现有宏分配给 MyWorkbook
  • Spring 中的 Elasticsearch HTTP 身份验证

    我想访问受用户名和密码保护的远程elasticsearch https 用户名 密码 aws eu west 1 portal1 dblayer com 11109 在 Spring 中 使用 XML 配置我能够访问我的本地主机弹性 如下所