我正在尝试使用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在我的情况下。提前致谢!
你可以做点什么
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);