如何将 Solr 配置为仅通过发送密钥传递/访问令牌来接受请求



Solr experts,

目前,我正在使用自定义代理脚本来仅接受具有正确密钥传递参数的请求。是否可以为此类用例配置 solr,所以我不需要此代理脚本?

例如:localhost/proxy/search?keypass=asdaefva&query=SEARCHPARAMETERS

此致敬意 提姆

如果您有足够新的Solr版本,则可以使用Solr内置的身份验证和授权支持。这也允许您限制给定密钥(即 user:pass(可以访问的集合和操作。

这些是在名为security.json的文件中配置的,该文件要么存储在 Zookeeper(用于 SolrCloud(中,要么存储在本地磁盘上(在独立模式下使用本地文件支持比在集群模式下使用它的原始支持晚添加(。

{
"authentication":{
"class":"solr.BasicAuthPlugin",
"credentials":{
"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="
}
},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[
{
"name":"security-edit", 
"role":"admin"
}
],
"user-role":{
"solr":"admin"
}
}

} }

在独立模式下运行 Solr 时,您需要创建security.json文件并将其放在安装的$SOLR_HOME目录中(这与您solr.xml所在的位置相同,通常server/solr(。

最新更新