国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Solr基本身份驗(yàn)證插件

2018-12-19 14:08 更新

Solr 可以支持用戶使用 BasicAuthPlugin 的基本身份驗(yàn)證。

您還可以使用授權(quán)插件來(lái)配置Solr,使其具有在系統(tǒng)中執(zhí)行各種活動(dòng)的權(quán)限。授權(quán)插件在“基于規(guī)則的授權(quán)插件”一節(jié)中進(jìn)行了介紹。

啟用基本身份驗(yàn)證

要使用基本身份驗(yàn)證,您必須先創(chuàng)建一個(gè)security.json文件。這個(gè)文件以及它的放置位置將在“使用security.json啟用插件”一節(jié)中詳細(xì)介紹。

對(duì)于基本身份驗(yàn)證,security.json文件必須有一個(gè)authentication部分,它定義用于身份驗(yàn)證的類??梢栽趧?chuàng)建文件時(shí)添加用戶名和密碼(例如:sha256(password+salt) hash),或者可以稍后使用基本驗(yàn)證API添加,如下所述。

該authorization部分與基本身份驗(yàn)證無(wú)關(guān),但它是一個(gè)單獨(dú)的授權(quán)插件,旨在支持 fine-grained 用戶訪問(wèn)控制。有關(guān)更多信息,請(qǐng)參閱基于規(guī)則的授權(quán)插件。

示例security.json顯示了如下所示的顯示兩個(gè)部分,以顯示這些插件是如何協(xié)同工作的:

{
"authentication":{ 【1】
   "blockUnknown": true, 【2】
   "class":"solr.BasicAuthPlugin",
   "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="} 【3】
},
"authorization":{
   "class":"solr.RuleBasedAuthorizationPlugin",
   "permissions":[{"name":"security-edit",
      "role":"admin"}], 【4】
   "user-role":{"solr":"admin"} 【5】
}}

在這個(gè)文件中定義了幾個(gè)東西,以下的解釋對(duì)應(yīng)于上述的序號(hào):

  1. 啟用基本身份驗(yàn)證和基于規(guī)則的授權(quán)插件。
  2. 參數(shù) "blockUnknown": true 表示不允許未經(jīng)身份驗(yàn)證的請(qǐng)求通過(guò)。
  3. 已定義了一個(gè)名為 "solr" 的用戶,其中有密碼 "SolrRocks"。
  4. "admin" 角色已定義,并且具有編輯安全設(shè)置的權(quán)限。
  5. "solr" 用戶已被定義為 "admin" 角色。

將您的設(shè)置保存到名為security.json的本地文件中。如果您在獨(dú)立模式下使用Solr,則應(yīng)將此文件放在 $SOLR _home 中。

如果blockUnknown沒(méi)有出現(xiàn)在security.json文件中,它將默認(rèn)為false。這具有不需要身份驗(yàn)證的效果。在某些情況下,你可能需要這個(gè);例如,如果您想要使用security.json,但尚未準(zhǔn)備好啟用身份驗(yàn)證。但是,您需要確保將此參數(shù)設(shè)置為true,以便在您的系統(tǒng)中真正啟用身份驗(yàn)證。

如果您正在使用SolrCloud,則你必須上傳security.json到ZooKeeper。您可以使用這個(gè)示例命令,確保ZooKeeper端口是正確的:

bin/solr zk cp file:path_to_local_security.json zk:/security.json -z localhost:9983

注意事項(xiàng)

使用基本身份驗(yàn)證插件時(shí)需要記住一些事項(xiàng):

  • 憑據(jù)默認(rèn)情況下以純文本形式發(fā)送。建議在啟用基本身份驗(yàn)證時(shí)使用 ssl 進(jìn)行通信,如啟用S??SL一節(jié)中所述。
  • 有權(quán)訪問(wèn)security.json寫(xiě)入權(quán)限的用戶將能夠修改所有權(quán)限以及如何為用戶分配權(quán)限。應(yīng)特別注意只授予對(duì)適當(dāng)用戶的編輯安全性的訪問(wèn)權(quán)限。
  • 您的網(wǎng)絡(luò)當(dāng)然應(yīng)該是安全的。即使啟用了基本身份驗(yàn)證,也不應(yīng)該不必要地將Solr公開(kāi)給外部世界。

編輯身份驗(yàn)證插件配置

身份驗(yàn)證API允許修改用戶標(biāo)識(shí)和密碼。API為端點(diǎn)提供特定的命令來(lái)設(shè)置用戶詳細(xì)信息或刪除用戶。

API入口點(diǎn)

admin/authentication

此端點(diǎn)不是特定于集合的,因此將為整個(gè)Solr集群創(chuàng)建用戶。如果用戶需要被限制到特定的集合,那么可以使用授權(quán)規(guī)則來(lái)完成。

添加用戶或編輯密碼

該set-user命令允許您添加用戶并更改其密碼。例如,以下定義了兩個(gè)用戶及其密碼:

curl --user solr:SolrRocks http://localhost:8983/solr/admin/authentication -H 'Content-type:application/json' -d '{
  "set-user": {"tom" : "TomIsCool" ,
               "harry":"HarrysSecret"}}'

刪除一個(gè)用戶

該delete-user命令允許您刪除用戶。用戶密碼不需要發(fā)送來(lái)刪除用戶。在下面的例子中,我們要求將用戶ID “tom”和“harry”從系統(tǒng)中刪除。

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

設(shè)置屬性

為身份驗(yàn)證插件設(shè)置任意屬性。唯一受支持的屬性是'blockUnknown'

curl --user solr:SolrRocks http://localhost:8983/solr/admin/authentication -H 'Content-type:application/json' -d  '{
 "set-property": {"blockUnknown":false}}'

在SolrJ中使用BasicAuth

在SolrJ中,需要為每個(gè)請(qǐng)求設(shè)置基本認(rèn)證憑證,如下例所示:

SolrRequest req ;//create a new request object
req.setBasicAuthCredentials(userName, password);
solrClient.request(req);

查詢例子:

QueryRequest req = new QueryRequest(new SolrQuery("*:*"));
req.setBasicAuthCredentials(userName, password);
QueryResponse rsp = req.process(solrClient);

使用BasicAuth命令行腳本

將以下行添加到solr.in.sh或solr.in.cmd文件。此示例告訴bin/solr命令行使用“basic”作為認(rèn)證類型,并使用用戶名“solr”和密碼“SolrRocks”傳遞憑證:

SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)