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

Spring Data Solr连接带认证的SolrCore问题求助

解决Solr添加认证后API无法连接的问题

嘿,这个问题我熟!Solr开启身份认证后,你的API请求因为没携带合法的身份凭证,直接被Solr的安全层拦截了。咱们只需要修改你的SolrConfigs配置类,给Solr客户端添加上认证信息就行,具体步骤如下:

1. 先在配置文件里添加Solr认证参数

不管你用的是application.properties还是application.yml,先把Solr的用户名和密码配置进去:

application.properties示例

solr.host=http://你的Solr地址:8983/solr
solr.username=你的Solr认证用户名
solr.password=你的Solr认证密码

application.yml示例

solr:
  host: http://你的Solr地址:8983/solr
  username: 你的Solr认证用户名
  password: 你的Solr认证密码

2. 修改SolrConfigs配置类,添加认证逻辑

更新你的配置类,创建SolrClient时注入认证信息,让客户端每次请求都自动带上身份凭证:

@Configuration
@EnableConfigurationProperties
public class SolrConfigs {

    private static final Logger LOG = LoggerFactory.getLogger(SolrConfigs.class);

    @Value("${solr.host}")
    private String solrHost;

    @Value("${solr.username}")
    private String solrUsername;

    @Value("${solr.password}")
    private String solrPassword;

    @Bean
    public SolrClient solrClient() {
        // 初始化HttpSolrClient构建器
        HttpSolrClient.Builder builder = new HttpSolrClient.Builder(solrHost);
        // 给构建器设置带认证的HttpClient
        builder.withHttpClient(createAuthHttpClient());
        return builder.build();
    }

    // 创建带Basic认证的HttpClient
    private CloseableHttpClient createAuthHttpClient() {
        // 存储Solr的用户名密码凭证
        CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials(solrUsername, solrPassword));

        // 构建并返回带认证的HttpClient
        return HttpClientBuilder.create()
                .setDefaultCredentialsProvider(credentialsProvider)
                .build();
    }
}

关键说明

  • 我们通过BasicCredentialsProvider存储Solr的认证凭证,让HttpClient在每次请求Solr时自动携带Authorization请求头
  • 如果你的Solr用的不是Basic认证(比如OAuth2),那需要替换对应的认证拦截逻辑,但绝大多数场景下都是Basic认证
  • 你可以先通过curl命令验证认证是否有效:curl -u 用户名:密码 http://你的Solr地址:8983/solr/你的Core名称/select?q=*:*,能正常返回结果就说明凭证没问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:17:30