solr的web页面是无需授权认证即可登陆访问的,但这种情况在安全性要求较高的项目中,是有风险的,一般的渗透测试,都会发现存在这个问题,那么就需要进行整改了
1、关闭该页面(不建议,很多时候需要该页面去调试)
2、进行用户认证,授权访问
下面就只讲一下第二种方法(亲测)
一、找到solr部署安装路径,并修改一下三个路径下的三个文件

①在/server/etc 文件夹下创建一个*.properties文件名称(名称可以自己定),我用的是verify.properties
添加内容:
test:888888,admin
注释:test登陆账号,888888密码,admin 表示当前用户授权的是admin 角色,这里用户可以配置多个账号(每行一个)
②在/server/contexts 文件夹下添加以下内容,并将文件名设置为:solr-jetty-context.xml(有可能已存在该文件,可直接编辑修改(添加至尾部即可))
<Get name=”securityHandler”>
<Set name=”loginService”>
<New class=”org.eclipse.jetty.security.HashLoginService”>
<Set name=”name”>verify—name</Set>
<Set name=”config”><SystemProperty name=”jetty.home” default=”.”/>/etc/verify.properties</Set>
</New>
</Set>
</Get>
如图所示:

③在/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>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>verify-name</realm-name>
</login-config>
如图所示:

④修改完成后,重启solr服务,并访问solr web页面,将会弹出登陆弹框
注意:①重启solr服务
②清理浏览器缓存