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.com】【https://blog.alvinxiao.com】原创,转载请注明来源。请注意原创和打造和谐的网络环境,谢谢!