【问题标题】:Jetty/SOLR Admin Panel Password码头/SOLR 管理员面板密码
【发布时间】:2015-02-04 06:31:11
【问题描述】:

我正在使用 jetty 在 SOLR 管理面板上应用身份验证。我已经阅读了很多教程并使用以下步骤实现:

在 /solr/core/etc/jetty.xml 中添加以下代码:

   <Call name="addBean">
  <Arg>
    <New class="org.eclipse.jetty.security.HashLoginService">
      <Set name="name">Test Realm</Set>
      <Set name="config"><SystemProperty name="jetty.home" default="."/>/var/www/solr/core/etc/realm.properties</Set>
      <Set name="refreshInterval">0</Set>
    </New>
  </Arg>
</Call>

在 /solr/core/solr-webapp/webapp/WEB-INF/web.xml 中添加了以下代码:

    <security-constraint>
    <web-resource-collection>
      <web-resource-name>Solr authenticated application</web-resource-name>
      <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>admin</role-name>
    </auth-constraint>
  </security-constraint>

  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Test Realm</realm-name>

  </login-config>

然后使用以下代码行在 solr/core/etc 中创建文件 realm.proprerties 文件:

admin: OBF:1y0s1v1p1v2p1y0y, admin

但是当我使用 URL http://localhost:8983/solr/ 打开 solr 管理面板时。我有一个弹出窗口询问用户名和密码。我填写了在 realm.properties 中添加的用户名和密码。但无法登录。

请帮我找出我错在哪里。

【问题讨论】:

  • 将相对路径而不是绝对路径放入&lt;SystemProperty name="jetty.home" default="."/&gt;...&lt;/Set&gt; 为我解决了这个问题。

标签: java solr jetty


【解决方案1】:

在您的 realm.properties 文件中将用户定义为:

&lt;username&gt;: &lt;password&gt;, &lt;role&gt;

ex: admin: 12345, admin

同时检查您的"jetty.home" 路径。它应该是 SOLR 核心文件夹中的“etc”目录。

同样在 realm.properties 中,你应该在散列后输入你的密码,为此有一个默认的 SOLR 实用程序可以用作:

java -cp jetty-util-8.1.10.v20130312.jar org.eclipse.jetty.util.security.Password &lt;username&gt; &lt;password&gt;

例如:java -cp jetty-util-8.1.10.v20130312.jar org.eclipse.jetty.util.security.Password admin 12345

输出

12345 OBF:19bv19bx19bz19c119c3 MD5:827ccb0eea8a706c4c34a16891f84e7b CRYPT:adpliAB3dA.06 您可以在属性文件中使用三种形式中的任何一种及其类型:

admin: MD5:827ccb0eea8a706c4c34a16891f84e7b, admin

希望这可能会有所帮助!

【讨论】:

  • 这适用于 solr5 及更高版本吗?我试过这个,它给出了一个错误!role
  • @nikhil24,没试过 SOLR5。顺便说一句,您是否在 web.xml 文件中定义了角色,它与您的 realm.properties 文件相同吗?
  • @nikhil24,尝试按照此处给出的说明进行操作 (cwiki.apache.org/confluence/display/solr/…)
  • 官方页面的解决方案只能在SolrCloud上使用Apache Zookeeper实现。我只是想看看我是否可以绕过这个并实现密码,但似乎并非如此。
  • @NikhilSahu,确认这是解决方案也适用于 solr 5.5。
【解决方案2】:

不完全支持混淆密码。

我可以确认在 SOLR 6.4.1 中的云模式下,内置 Zookeeper,部分支持 OBF 密码。 SOLR 启动,管理 UI 工作,但其他一些 API 失败,错误指示密码不正确。

SOLR-8897

我们使用官方证书,而不是自签名。

在我们的实例中似乎只有明文密码有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 2016-12-25
    • 2020-11-28
    • 2015-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多