2009-05-28 12 views
3

Ich bin neu in Spring, also kann diese Frage so offensichtlich aussehen.Wie werden LDAP-Authentifizierung und Datenbankautorisierung im Frühling durchgeführt?

Ich versuche Spring-Sicherheit zu implementieren, und meine Anforderung besteht darin, den Benutzernamen/das Kennwort für einen LDAP-Server zu authentifizieren, und sobald der Benutzer authentifiziert wird, müssen die Benutzerrollen aus einer relationalen Datenbank abgerufen werden.

ist es möglich, dies im Frühjahr Sicherheit zu tun?

Antwort

4

Ja.

Der integrierte ldap-Authentifizierungsmanager teilt die Authentifizierung und Autorisierung eines Benutzers in 2 Teile auf. Sie können einen LDAP-basierten Authentifizierungsmanager wie unten beschrieben konfigurieren.

<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager"> 
    <property name="providers"> 
     <list> 
      <ref local="ldapAuthenticationProvider"/> 
     </list> 
    </property> 
</bean> 

Der Authentifizierungsanbieter ist wie folgt konfiguriert.

<bean id="ldapAuthenticationProvider" class="org.acegisecurity.providers.ldap.LdapAuthenticationProvider"> 
    <constructor-arg><ref local="authenticator"/></constructor-arg> 
    <constructor-arg><ref local="populator"/></constructor-arg> 
    <property name="userCache"><ref local="userCache"/></property> 
</bean> 

Ich weiß nicht, ob es ein eingebautes in populator ist, die das tun, was Sie wollen, aber Sie können Ihre eigenen eine bei Bedarf entwickeln.

+1

Sie können den UserDetailsServiceLdapAuthoritiesPopulator zum Delegieren an einen Standard-UserDetailsService verwenden. Das wird genau das, was Veera braucht. –

Verwandte Themen