我的问题很简单,但是我无法让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实例!
能帮我吗?
致敬