solr默认可以直接访问管理界面,这样很危险,因此需要给配置上登录授权。
说明:以下操作中是我本地机器的目录,实际中要对应你们自己的路径。
1、创建role.properties文件,
进入/picclife/soft/solr-7.4.0/server/etc目录下,创建文件role.properties,并写入登录信息
格式:<username>: <password>[,<rolename> ...]
用户名:密码,角色
xxx: yyy,aaa #例如:user:passwd123,admin
2、修改solr-jetty-context.xml文件,改前备份一下
进入/picclife/soft/solr-7.4.0/server/contexts目录下,将以下配置加入文件solr-jetty-context.xml中
<Get name="securityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">TestRealm</Set>
<Set name="config">
<SystemProperty name="jetty.home" default="."/>/etc/role.properties</Set>
</New>
</Set>
</Get>
3、修改web.xml文件,改前备份一下
进入目录/picclife/soft/solr-7.4.0/server/solr-webapp/webapp/WEB-INF目录下,将以下配置加入文件web.xml中
<security-constraint>
<web-resource-collection>
<web-resource-name>Solr</web-resource-name>
<url-pattern>/</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name> --验证的角色,不是用户名,有多个角色就写多个role-name 标签
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>TestRealm</realm-name>
</login-config>
这段配置放在<web-app>...</web-app>之内
4、配置完成后重启一下solr,再次访问的时候,就会提示需要账号密码才能可以