2012-03-27 111 views
1

我試圖在我的應用程序中使用在Oracle Weblogic Server 10.3中配置的LDAP認證器來設置Spring Security。使用Weblogic LDAP認證器配置Spring Security

我一直在互聯網上搜索,但我發現的是如何將LDAP正確設置到spring-security.xml中,但沒有關於將服務器上的配置導入到它中,所以當我嘗試登錄,它會使用服務器上的身份驗證器檢查用戶和密碼。

我想這樣做,因爲我無法訪問LDAP的配置(它在生產環境中),所以我必須直接將數據發送給它。

有什麼辦法可以做到這一點?

回答

0

您需要創建一個自定義的AuthenticationHandler並在您的Spring Security配置中聲明它,或者您可以編寫自己的UserDetailsS​​ervice來爲您執行LDAP查詢。

<authentication-manager> 
    <authentication-provider user-service-ref="jbossLdapController" > 
     <password-encoder hash="sha" base64="true" ref="passwordEncoder"> 
      <salt-source ref="saltSource"/> 
     </password-encoder> 
    </authentication-provider> 
</authentication-manager> 

有了這個,你可以創建一個實現UserDetailsService得到這一切的功能,而無需手工使用典型的自定義驗證處理程序來實現它所有的類。

請記住,這只是一個示例,說明如何在不放棄Spring Security UserDetails功能的優點的情況下完成此操作。當然,在不瞭解更多關於LDAP提供者的情況下,密碼可能不會被SHA加密。