2012-03-27 6 views
1

Ich versuche Spring Security in meiner Anwendung mithilfe eines LDAP-Authentifikators einzurichten, der in einem Oracle Weblogic Server 10.3 konfiguriert ist.Konfigurieren von Spring Security mit Weblogic LDAP-Authentifikator

Ich habe im Internet gesucht, aber alles, was ich finde, ist, wie Sie das LDAP direkt in die Feder-security.xml einstellen, aber nichts über irgendwie importieren die Konfiguration, die ich auf dem Server habe, also wenn ich versuchen Sie sich einzuloggen, es überprüft den Benutzer und das Passwort mit dem Authenticator auf dem Server.

Ich möchte dies tun, weil ich keinen Zugriff auf die Konfiguration des LDAP habe (es ist in einer Produktionsumgebung), also muss ich die Daten direkt an es senden.

Gibt es eine Möglichkeit, dies zu erreichen?

Antwort

0

Sie müssen einen benutzerdefinierten AuthenticationHandler erstellen und ihn in Ihrer Spring Security-Konfiguration deklarieren, oder Sie können Ihren eigenen UserDetailsService schreiben, der die LDAP-Abfrage für Sie durchführt.

<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> 

Damit können Sie eine Klasse erstellen, die UserDetailsService implementiert alle Funktionen dieses zu erhalten, ohne dass sie alle von Hand mit einer typischen benutzerdefinierten Authentifizierungshandler implementieren zu müssen.

Denken Sie daran, dass dies nur ein Beispiel dafür, wie dies ohne auf die Vorteile der Spring Security Userdetails Funktionalität erfolgen. Natürlich, ohne dass Sie mehr über Ihren LDAP-Provider wissen, sind die Passwörter möglicherweise nicht SHA-verschlüsselt.