gpt4 book ai didi

tomcat - 如何保护 Solr 只允许用户进行 SELECT 请求并禁止其他任何请求?

转载 作者:行者123 更新时间:2023-11-28 21:49:16 27 4
gpt4 key购买 nike

这是迄今为止我为保护 SOLR 应用程序所做的工作。

在 SOLR 的 web.xml 文件中,我尝试执行以下操作

  • 仅允许/select 请求用户或管理员请求。
  • 禁止对 SOLR 的除管理员之外的所有其他请求。

我已将安全约束添加到 SOLR 的 web.xml 文件

<security-constraint> 
<web-resource-collection>
<web-resource-name>Solr Admin</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Public</web-resource-name>
<url-pattern>/primary/select/*</url-pattern>
<url-pattern>/reindex/select/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>user</role-name>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>

这就是我在客户端应用程序中实例化 SOLR HTTP 连接的方式

//primary core
HttpSolrServer primaryindex = new HttpSolrServer(serverUrl + "/" + PRIMARYINDEX);
HttpClientUtil.setBasicAuth((DefaultHttpClient) primaryindex.getHttpClient(), "user", "user");

//reindex core
HttpSolrServer reindex = new HttpSolrServer(serverUrl + "/" + REINDEX);
HttpClientUtil.setBasicAuth((DefaultHttpClient) reindex.getHttpClient(), "user", "user");

tomcat-users.xml 文件的角色和用户设置如下

<role rolename="user"/>
<user username="user" password="user" roles="user"/>
<user password="admin" roles="manager-script,admin" username="admin"/>

以上是完美的。显然在生产中我会有更强大的用户名和密码。

问题

我是否还需要其他任何东西来保护我的 SOLR 实例,或者以上就足够了吗?我有 1 个运行客户端应用程序和 SOLR 应用程序的 Tomcat 7 实例。这就是我想要实现的目标。

  • 不想让任何人在没有用户名和密码的情况下登录管理员
  • 不希望任何人访问除我的客户端应用程序之外的核心应用程序

我可以在上面的基础上向 SOLR 添加 Spring 安全性,但这是必要的吗?

最佳答案

如果您启用了复制处理程序,请务必将其置于安全角色之一之后。我见过人们做的另一件事是在不同的端口上运行管理员。最好在需要身份验证的页面上使用 SSL,这样您就不会明文发送密码,因此管理和复制将在 8443 上进行,而常规查询将在 8080 上进行。

如果您要签署自己的证书,请查看这个有用的 SO 页面:

How can I use different certificates on specific connections?

关于tomcat - 如何保护 Solr 只允许用户进行 SELECT 请求并禁止其他任何请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613835/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com