Solr基本身份验证(按集合)

时间:2019-03-19 11:28:50

标签: solr basic-authentication

我的问题很简单,但是我无法让Solr Basic Authentication Plugin运行,因为我认为它应该工作。

详细信息:我正在运行Docker Solr 7的单个节点实例。我创建了两个核心,并为每个核心创建了一个“经理”角色(使用solr API)。我的security.json文件看起来像

{
   "authentication":{
      "blockUnknown":true,
      "class":"solr.BasicAuthPlugin",
      "credentials":{
         "solr":"KzdeDy9vIPliG3IsrvZJJt5L8LJQsK+o8fyTQ4g5b8g= rNwIT3FVvt6dqfRTFzNfehMcuGXaG1uipAVVJ71zgXw=",
         "sandbox2":"Yyz547gwtwHBJkWl3AdYn5wUKZX28JMjm5J6pI4enBY= 7idFe+baqhDzjOPR5Q9N3hS/0kCrWoZFdfwEl0zD298=",
         "sandbox1":"b/my6RlkYNzh11MjU8M16aYbcXRCjU9vbXH8kUnuWw4= B3Mpuenz0JtdWlQ5FMg1wv/1TtoJ6n3IILeVhgZvga0="
      },
      "":{
         "v":0
      }
   },
   "authorization":{
      "class":"solr.RuleBasedAuthorizationPlugin",
      "permissions":[
         {
            "name":"security-edit",
            "role":"admin",
            "index":1
         },
         {
            "collection":"sandbox2",
            "role":"sandbox2_manager",
            "name":"sandbox2.manager",
            "index":2
         },
         {
            "collection":"sandbox1",
            "role":"sandbox1_manager",
            "name":"sandbox1.manager",
            "index":3
         }
      ],
      "user-role":{
         "solr":"admin",
         "sandbox2":"sandbox2_manager",
         "sandbox1":"sandbox1_manager"
      },
      "":{
         "v":0
      }
   }
}

我想要的是隔离每个内核,也就是:仅允许sandbox1用户使用sandbox1内核,并且仅允许sandbox2用户使用sandbox2核心。但是,通过我的配置,我仍然可以向sandbox1用户查询sandbox2核心...讨厌共享SOLR实例!

能帮我吗?

致敬

0 个答案:

没有答案