url+用户名+密码_solr安全配置——用户名密码

写网站用到了搜索服务器solr

同样是部署了项目到服务器上之后

发现这个没有访问限制

因为这个服务器不能关掉

只能通过端口屏蔽和设置密码的方式

实现避免他人访问获取资源数据

这里我采用了设用户名密码的方式

实现避免不必要的访问

查了查资料,做了各种尝试

发现下面的流程是可以做到的


用root用户进入docker容器

docker exec  -u root -it solr/bin/bashcd server/etc

创建密码配置文件

touch server/etc/verify.properties

进入该文件

vim server/etc/verify.properties

写入用户名和密码

#用户名:密码,权限user:pass,admin

键入Esc+:wq保存退出

然后编辑solr-jetty-context.xml文件

vim /opt/solr/server/contexts/solr-jetty-context.xml 

写入下面内容

<Get name="securityHandler">   <Set name="loginService">      <New class="org.eclipse.jetty.security.HashLoginService">         <Set name="name">verify—nameSet>         <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/verify.propertiesSet>      New>    Set>Get>

 Esc+:wq保存退出

最后修改web.xml

  vim server/solr-webapp/webapp/WEB-INF/web.xml

删除以下内容(如果有)

<security-constraint>  <web-resource-collection>    <web-resource-name>Disable TRACEweb-resource-name>    <url-pattern>/url-pattern>    <http-method>TRACEhttp-method>  web-resource-collection>  <auth-constraint/>security-constraint><security-constraint>  <web-resource-collection>  <web-resource-name>Enable everything but TRACEweb-resource-name>  <url-pattern>/url-pattern>  <http-method-omission>TRACEhttp-method-omission>  web-resource-collection>security-constraint>

然后添加下面内容

<security-constraint>  <web-resource-collection>    <web-resource-name>Solrweb-resource-name>    <url-pattern>/url-pattern>  web-resource-collection>    <auth-constraint>         <role-name>adminrole-name>  auth-constraint>    security-constraint><login-config>       <auth-method>BASICauth-method>  <realm-name>verify-namerealm-name>  login-config>

键入 Esc+:wq保存退出 

输入exit退出容器

重启solr

docker restart solr

Spring项目 pom文件配置

<dependency><groupId>org.apache.solrgroupId><artifactId>solr-solrjartifactId> <exclusions>        <exclusion>              <artifactId>httpclientartifactId>                   <groupId>org.apache.httpcomponentsgroupId>         exclusion>          <exclusion>            <artifactId>httpcoreartifactId>                  <groupId>org.apache.httpcomponentsgroupId>                exclusion>        exclusions>dependency>

完工!

部署项目即可

效果图:

96df604e7b1112aedfdb5208da342dae.png

觉得有用的话辛苦点个关注鸭嘻嘻

写留言

往期原创推荐传送门:

    2020.11.15  Spring Boot项目创建

    2020.11.1   JavaScript网络爬虫之——英文文章

    2020.9.15   今日份日记

    2020.9.01   今日份日记

    2020.8.07   今日份日记

    2020.8.02   晚安

    2020.7.31   今日份日记

    2020.7.31   你还要我怎样 

    2020.7.24   乐谱收藏夹(一)

    2020.7.24   下雨了

    2020.7.21   米瑶留言小程序上线啦~

    2020.7.21   微信小程序开发之——米瑶云音乐

    2020.7.14   网站分享

    2020.7.08   技术分享——批量修改文件名

    2020.6.11   访寻

    2020.5.21   来世

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值