2014-07-02 22 views
3

我如何爲Spring數據解析服務器提供身份驗證數據? 以下是我在配置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> 

我看不出在那裏我可以將它設置任何屬性。

回答

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拿起和應用如果出現在應用程序上下文會在這種情況下才有意義。

+0

非常感謝,它工作得很好。 – user3799300

相關問題