3

我如何为 Spring Data solr 服务器提供身份验证数据?这是我的配置

 <solr:solr-server id="solrServer" url="http://xxxxxxxx:8983/solr" />

  <bean id="solrTemplate" class="org.springframework.data.solr.core.SolrTemplate" scope="singleton">
    <constructor-arg ref="solrServer" />
  </bean>

  <bean id="searchRepository" class="com.bankofamerica.atmtech.repository.SolrJournalRepository">
    <property name="solrOperations" ref="solrTemplate" />
  </bean>

   <bean id="App" class="App">
    <property name="repo" ref="searchRepository" />
  </bean>

我没有看到任何可以设置它的属性。

4

1 回答 1

1

您不能Credentials直接设置,必须通过工厂。

@Bean
SolrTemplate solrTemplate() {
  return new SolrTemplate(solrServerFactory());
}

@Bean
SolrServerFactory solrServerFactory() {

  Credentials credentials = new UsernamePasswordCredentials("foo", "bar");
  return new HttpSolrServerFactory(solrServer(), "collection1", credentials , "BASIC");
}

@Bean
SolrServer solrServer() {
  return new HttpSolrServer("http://localhost:8983/solr");
}

我想在这种情况下,如果存在于应用程序上下文中,某种类型的SolrAuthenticationProvider拾取和应用是有意义的。

于 2014-07-03T08:05:31.513 回答