您的位置:首页 > 其它

solr基于jetty容器配置后台登陆角色用户名密码

2016-08-16 11:57 357 查看
solr版本4.0.0

我的solr下载后解压在d盘,你的随意。

在D:\apache-solr-4.0.0\apache-solr-4.0.0\example\etc目录下新建role.properties文件,名字可随便。

内容如下:

#
# 这个文件定义用户名,密码和角色
#
# 格式如下
#  <username>: <password>[,<rolename> ...]
#
#userName: password,role
test: 123,admin


编辑D:\apache-solr-4.0.0\apache-solr-4.0.0\example\contexts\solr.xml文件如下,文件中插入安全处理程序设置标签

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/solr</Set>
<Set name="war"><SystemProperty name="jetty.home"/>/webapps/solr.war</Set>
<Set name="defaultsDescriptor"><SystemProperty name="jetty.home"/>/etc/webdefault.xml</Set>
<Set name="tempDirectory"><Property name="jetty.home" default="."/>/solr-webapp</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/realm.properties</Set>
</New>
</Set>
</Get>
</Configure>


编辑D:\apache-solr-4.0.0\apache-solr-4.0.0\example\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>


配置完成后,重启solr服务器,重新访问solr就需要用户名和密码了



可参考http://www.mossle.com/docs/auth/html/ch109-preauth.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: