solr没有在管理界面增加修改用户名和密码的操作,那么我们在服务器配置完成后,总不能暴露在外吧!所以博主整理了下资料,可以通过配置文件增加用户名和密码。
进入这个文件下,/Users/sun/Documents/d/solr-6.5.1/server/etc,创建一个role.properties文件。
内容如下:
#
# 这个文件定义用户名,密码和角色
#
# 格式如下
# <username>: <password>[,<rolename> ...]
#
#userName: password,role
xxxxx: xxxxxx,xxxxxx #例如:test:admin123,admin
然后进入 /Users/sun/Documents/d/solr-6.5.1/server/contexts 这个文件,修改下边的 solr-jetty-context.xml
<?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">TestRealm</Set> <!-- 这仅仅是一个名字而已-->
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/role.properties</Set>
</New>
</Set>
</Get>
</Configure>
进入:/Users/sun/Documents/d/solr-6.5.1/server/solr-webapp/webapp/WEB-INF 修改 web.xml
Solr在5.0版本后,不再提供war包部署的方式,所以直接找上边这个目录即可。
<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> 之前增加即可
配置完成,重启服务!再访问的时候浏览器就会提示需要账号密码才能进入,如下图所示:
那么在程序中使用的时候,如何输入账号和密码呢? 看下边
url 格式修改成下边这种:
http://test:admin123@localhost:8983/solr/my_core
引入必备依赖:
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.7</version>
</dependency>
相关阅读:
版权属于: 技术客
原文地址: https://www.sunjs.com/article/detail/17856d155b8b40c8b24cc214902aa6fd.html
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。