使用invariantParams将基本身份验证参数添加到HttpSolrClient

问题描述 投票:1回答:1

我正在尝试使用SolrJ HttpSolrClient编写SOLR客户端。我必须使用基本身份验证。

SolrJ HttpSolrClient的文档说:

protected ModifiableSolrParams invariantParams

而描述是:

无论如何都添加到每个请求的参数。这可能是添加诸如身份验证令牌之类的地方。

有人之前使用过这个请告诉我如何使用invariantParams进行基本身份验证吗?

public class MySolrClient extends HttpSolrClient{

    private String hostUrl;

    private String userName;

    private String password;

    public CloudForgeProcurementSolrClient(final String hostUrl, final String userName, final String password) {
        super(hostUrl);
        this.hostUrl = hostUrl;
        this.userName = userName;
        this.password = password;
        if (invariantParams == null) {
            invariantParams = new ModifiableSolrParams();
        }
        //        invariantParams.add(arg0, arg1);
    }
}

应该是arg0和arg1在我的情况下。提前致谢!

solrj
1个回答
0
投票

你可以做点什么

CredentialsProvider provider = new BasicCredentialsProvider();
    UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(
            "myusername","mypassword");
    provider.setCredentials(AuthScope.ANY, credentials);                
    HttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(provider).build();     

    HttpSolrClient solrClient = new HttpSolrClient(solrCoreUrl, client);
© www.soinside.com 2019 - 2024. All rights reserved.