好的,所以我有一个带有 solr 的单独服务器,它与应用程序连接得很好。使用通常的 sunspot.yml 我们有类似的东西:
production:
solr:
hostname: domain
port: 8080
log_level: WARNING
path: path/to/data
问题是我想授权我的 tomcat 应用程序。似乎只要你知道域和端口,你就可以去访问 solr/admin。所以在我的 tomcat web.xml 中我添加了:
<security-constraint>
<web-resource-collection>
<web-resource-name>
Solr authenticated application
</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>role</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>REALM</realm-name>
</login-config>
<security-role>
<description>ROLE NAME</description>
<role-name>role</role-name>
</security-role>
这将要求访问 solr/admin 的任何人在被授予访问权限之前提供用户名和密码。问题是我如何告诉我的 Rails 应用程序?执行此操作后,当我的 rails 应用程序尝试访问 solr 服务器时,我会收到预期的“未经授权”响应。我知道它可能会进入 sunspot.yml 文件,但我必须添加什么?