写在前面
可能很多人在用solr的时候,都不会设置密码,因为,solr搭建完成后,控制台默认是没有密码设置的。这样,用着很方便,那为什么要做solr控制台的密码登录?首先,是为了数据的安全,因为,一旦只要别人知道了你的ip,就能直接去控制台,对你的数据进行操作;其次,就是防止黑客通过solr黑了你的服务器,血的教训,当你碰上了,就知道有多操蛋了,而且,网上就有怎么通过solr漏洞,攻击别人的服务器的教程。所以,防患未然,早做早安心!否则,亡羊补牢,就为之晚矣了!
一、在solr的WEB配置文件,设置,开启登录配置
文件路径:/fitness/serve/solr-7.7.0/server/solr-webapp/webapp/WEB-INF/web.xml
新增内容:
<!-- 设置密码·B -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Solr Add Lock</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>Solr Admin</realm-name>
</login-config>
<!-- 设置密码·E -->
位置:加到</web-app>这个标签里。
二、创建一个用来存储密码的文件 password.properties
文件路径:
/fitness/serve/solr-7.7.0/server/etc
创建文件:
vim password.properties
添加内容:
#userName:password,role
admin:MD5:9b962829040b12d3c46f4010c2b11448,admin 【md5加密登录设置定义】
或
admin:sdfeduj887sdd,admin【明文密码登录设置定义】
三、设置登录服务,引入密码配置文件
文件路径:/fitness/serve/solr-7.7.0/server/contexts/solr-jetty-context.xml
安全配置:
<Get name="securityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">加载密码配置文件</Set>
<!-- 引入密码文件 -->
<Set name="config">
<SystemProperty name="jetty.home" default="."/>
/etc/real.properties
</Set>
</New>
</Set>
</Get>
完整内容:
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath"><Property name="hostContext" default="/solr"/></Set>
<Set name="war"><Property name="jetty.base"/>/solr-webapp/webapp</Set>
<Set name="defaultsDescriptor"><Property name="jetty.base"/>/etc/webdefault.xml</Set>
<Set name="extractWAR">false</Set>
<Get name="securityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">密码文件引入</Set>
<!-- 引入密码文件 -->
<Set name="config">
<SystemProperty name="jetty.home" default="."/>
/etc/real.properties
</Set>
</New>
</Set>
</Get>
</Configure>
任何时候,更改完配置文件,都记得重启服务!这样服务-solr才能生效!
四、浏览器访问,查看,出现登录窗口,表示成功
这里输入admin及你设置的密码,即可登录!
五、附加说明
这里需要说明的是,即使你密码文件里,写的是MD5加密的密文,这里也只需输入明文密码,即可!
MD5加密,可以使用相关的工具生成,当然,使用其他的加密方式也可以!