2011-06-18 28 views
5

Estoy intentando utilizar la autenticación LDAP de Spring Security 3.0.2 para un sitio web JSF. Cuando uso la configuración siguiente en applicationContext-security.xml obtengo esta excepción: org.springframework.beans.factory.BeanCreationException: Error al crear bean con el nombre 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices # 0' : La inicialización de Bean falló; la excepción anidada es org.springframework.context.ApplicationContextException: no se ha registrado ningún UserDetailsService.Excepción de Spring LDAP - No UserDetailsService registrado

<authentication-manager> 
    <ldap-authentication-provider 
     user-search-filter="(uid={0})" user-search-base="ou=users,ou=system" 
     group-search-base="ou=groups,ou=system"> 
    </ldap-authentication-provider> 
</authentication-manager> 

<ldap-server id="ldapServer" url="ldap://localhost:10389" 
    root="" /> 

acabo experimentado y se encontró que la adición de la continuación hace que las cosas funcionen.

<ldap-user-service server-ref="ldapServer" user-search-filter="(uid={0})" /> 

Pero no pude encontrar referencias a la presente en la Spring LDAP documentation. ¿Por qué obtengo la excepción anterior si no agrego esto? No estoy contento con esta solución ya que tengo que escribir el atributo de filtro de búsqueda de usuario en dos lugares.

PS: He comprobado Spring Security LDAP - No UserDetailsService registered. La excepción es diferente y creo que la versión de Spring Security también es diferente.

Respuesta

8

Sospecho que tiene <remember-me/> establecido más adelante en el contexto de seguridad. De acuerdo con la documentación: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#remember-me

Si está utilizando un proveedor de autenticación que no utiliza un UserDetailsService (por ejemplo, el proveedor LDAP), entonces no funcionará a menos que también tiene un grano en UserDetailsService su aplicación contexto.

Cuestiones relacionadas