2010-10-29 10 views
0

J'essaie de configurer la sécurité de printemps LDAP. Et je l'ai stucked à quelques exceptions près étrange:Printemps Sécurité LDAP - Non UserDetailsService enregistré

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '_filterChainList' 
... 
No UserDetailsService registered 

Ma sécurité config.xml ressemble à ceci:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sec="http://www.springframework.org/schema/security" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
     http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd"> 

    <sec:global-method-security secured-annotations="enabled" 
       access-decision-manager-ref="accessDecisionManager" /> 

    <sec:http auto-config="true"> 
     <sec:intercept-url pattern="/css/**" filters="none" /> 
     <sec:intercept-url pattern="/js/**" filters="none" /> 
     <sec:intercept-url pattern="/img/**" filters="none" /> 

     <sec:intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY" /> 
     <sec:intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY" method="POST" /> 
     <sec:intercept-url pattern="/uzivatel/registrace" access="IS_AUTHENTICATED_ANONYMOUSLY" /> 

     <sec:intercept-url pattern="/**" access="ROLE_UZIVATEL" /> 

     <sec:form-login default-target-url="/vlakna" login-page="/login" /> 
    </sec:http> 

    <bean id="accessDecisionManager" class="org.springframework.security.vote.ConsensusBased"> 
     <property name="decisionVoters"> 
      <list> 
       <ref bean="rightsAccessDecisionVoter" /> 
      </list> 
     </property> 
    </bean> 

    <bean id="contextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource"> 
     <constructor-arg value="ldap://111.111.111.111"/> 
     <property name="userDn" value="cn=auth-user,ou=System,dc=sh,dc=company,dc=com"/> 
     <property name="password" value="secret"/> 
    </bean> 

    <bean id="ldapAuthProvider" class="org.springframework.security.providers.ldap.LdapAuthenticationProvider"> 
     <sec:custom-authentication-provider/> 
     <constructor-arg> 
      <bean class="org.springframework.security.providers.ldap.authenticator.BindAuthenticator"> 
       <constructor-arg ref="contextSource"/> 
       <property name="userSearch"> 
        <bean id="userSearch" class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch"> 
         <constructor-arg index="0" value="ou=People,dc=sh,dc=company,dc=com"/> 
         <constructor-arg index="1" value="(uid={0})"/> 
         <constructor-arg index="2" ref="contextSource" /> 
        </bean> 
       </property> 
       <property name="userDnPatterns"> 
        <list><value>uid={0},ou=people</value></list> 
       </property> 
       <property name="userAttributes"> 
        <list><value></value></list> 
       </property> 
      </bean> 
     </constructor-arg> 
     <constructor-arg> 
      <bean class="cz.rohan.dusps.services.UzivatelAuthoritiesPopulator" /> 
     </constructor-arg> 
    </bean> 

    <bean id="rightsAccessDecisionVoter" class="com.company.RightsAccessDecisionVoter" /> 
</beans> 

Je pensais qu'il devrait prendre « ldapAuthProvider » comme les détails de l'utilisateur mais le service ne le fait pas. Est-ce que quelqu'un voit un problème dans ma config?

Merci pour toute aide, Mateo

+0

Afficher la pleine stacktrace. – axtavt

Répondre

1

Je pense ...

<bean id="ldapAuthProvider" class="org.springframework.security.providers.ldap.LdapAuthenticationProvider"> 
<security:custom-authentication-provider /> 
// MISSING ABOVE 
<property name="userDetailsService" ref="ldapUserDetailsService" /> 
..... 
+0

Ne fonctionne pas pour moi :-(Je pense que je dois enregistrer ce haricot en quelque sorte mais je ne sais pas comment: -/ – mateo

+0

vous manque le bean userDetailsService je ne le vois pas dans votre configuration –

+0

Vous avez raison, J'ai oublié d'ajouter ce code: Mais de toute façon, merci pour l'aide !!! :-) – mateo