Solr的主界面加登录权限,solr安全认证

solr默认安装没带权限控制,每次进入页面直接操作都有点裸奔的感觉,很容易被人删库。所以最好是为它设置登录权限,如下图的登录界面:

上图是设置了权限后呈现的界面。接下来,教大家如何快速设置权限。

1.solr的安装我这里就不说了,大家去自行在我搜索页进行搜索。

2.我们进入/www/你的solr文件/server/solr文件,新建个文件:security.json,记得与solr.xml文件同级,然后对security.json文件输入如下代码:

{
  "authentication":{
    "blockUnknown":true,
    "class":"solr.BasicAuthPlugin",
    "credentials":{
      "solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c=",
      "tom":"5g0Hx2imSjVMci9O0mIw3xcR5SiDbjLeUqCX4+cLdNQ= Klz+r4cYBVn4jWYIZoTXSxyV9ioEvmvP3ECDA7lSAIo="
    },
    "realm":"My Solr users",
    "forwardCredentials":false,
    "":{"v":0}},
  "authorization":{
    "class":"solr.RuleBasedAuthorizationPlugin",
    "permissions":[{
        "name":"security-edit",
        "role":"admin"}],
    "user-role":{"solr":"admin"}}}
代码里的“credentials”下就是你的登录账号密码,“solr”和“tom”就是你的账号,后面一长串字符串就是你加密后的密码。

3.接下来我们如何删除和修改账号密码:

注意:solr本身的端口为8983,你也可以自己修改端口,下面的代码里的8080是我举例的端口号。

删除账号:

删除一个账号:

17-centos ~]# curl --user solr:SolrRocks http://localhost:8983/solr/admin/authentication -H 'Content-type:application/json' -d '{ "delete-user": ["tom"]}'

删除成功显示:

{
  "responseHeader":{
    "status":0,
    "QTime":1}}


删除两个或多个:

~# 17-centos ~]# curl --user solr:SolrRocks http://localhost:8983/solr/admin/authentication -H 'Content-type:application/json' -d '{ "delete-user": ["tom","harry"]}'

删除成功显示为:

{
  "responseHeader":{
    "status":0,
    "QTime":9}}

当然,如果你不想用命令进行删除,可直接在文件里进行delete删除操作;

添加用户或修改密码

curl --user solr:SolrRocks http://localhost:8080/solr/admin/authentication -H 'Content-type:application/json' -d '{"set-user": {"tom" : "TomIsCool" ,"harry":"HarrysSecret"}}'
这里我就修改了两个账号和密码

打完收工。

记得成功后重启solr服务。

那么如何通过php方法进行访问查询呢?

代码如下:

 $curl = curl_init();
        curl_setopt($curl, CURLOPT_USERPWD,'tom:TomIsCool');//设置账号密码
        curl_setopt($curl, CURLOPT_URL,$url);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($curl) ;
        curl_close($curl);
好了,以上就是本次教程。

本文由37°5【https://www.alvinxiao.comhttps://blog.alvinxiao.com原创,转载请注明来源。请注意原创和打造和谐的网络环境,谢谢!

分享到: