You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Solr Basic auth插件如何配置core级访问权限

Solr Basic Auth 按Core维度配置访问权限方法

之前配置不生效的核心原因是混淆了Solr单机模式core和SolrCloud模式collection的权限匹配规则:collection 作为权限匹配键仅在SolrCloud集群模式下生效,单机部署的core需要通过路径匹配做权限绑定,具体配置步骤如下:

  • 提前规划账号、角色和core的对应关系
    比如要求prod_user仅能访问product_core,order_user仅能访问order_core,管理员账号拥有所有权限。
  • 编写符合规则的security.json配置
    核心是在permissions配置项中,通过path字段匹配对应core的请求路径,不要使用collection字段做匹配,参考配置如下:
{
  "authentication": {
    "class": "solr.BasicAuthPlugin",
    "credentials": {
      "prod_user": "通过solr auth工具生成的sha256密码哈希",
      "order_user": "通过solr auth工具生成的sha256密码哈希",
      "solr_admin": "管理员账号密码哈希"
    },
    "blockUnknown": true
  },
  "authorization": {
    "class": "solr.RuleBasedAuthorizationPlugin",
    "permissions": [
      {
        "name": "allow-product-core-access",
        "role": "prod_role",
        "path": "/solr/product_core/*"
      },
      {
        "name": "allow-order-core-access",
        "role": "order_role",
        "path": "/solr/order_core/*"
      },
      {
        "name": "allow-all-admin-access",
        "role": "admin_role",
        "path": "/*"
      }
    ],
    "user-role": {
      "prod_user": "prod_role",
      "order_user": "order_role",
      "solr_admin": "admin_role"
    }
  }
}
  • 配置生效与验证
    写完配置后通过Solr认证接口上传security.json即可,无需重启服务。验证时直接用对应账号跨core发起请求即可,比如用prod_user访问order_core的查询接口会返回403状态码,访问自身绑定的product_core接口可正常返回结果即为配置成功。

注意事项

  • 路径匹配必须带/*后缀,否则只会匹配core的根路径,core下的查询、写入、管理等子接口不会命中权限规则
  • 如果之前留存了带collection匹配键的规则,建议调整优先级或者直接删除,避免规则覆盖导致权限异常
  • 不要给普通业务账号绑定全局路径/*的权限,否则会突破core的访问限制

内容的提问来源于stack exchange,提问作者Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 10:51:27