2011-06-18 32 views
5

Próbuję użyć uwierzytelniania LDAP Spring Security 3.0.2 dla witryny JSF. Gdy używam poniższej konfiguracji w aplikacjiContext-security.xml, otrzymuję ten wyjątek - org.springframework.beans.factory.BeanCreationException: Błąd podczas tworzenia komponentu bean o nazwie 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices # 0' : Inicjalizacja komponentu bean nie powiodła się; Zagnieżdżony wyjątek to org.springframework.context.ApplicationContextException: Nie zarejestrowano UserDetailsService.Wiosenny wyjątek LDAP - Brak zarejestrowanej usługi UserDetails

<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="" /> 

Właśnie eksperymentowałem i stwierdzili, że dodanie poniżej sprawia, że ​​wszystko działa.

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

Ale nie mogłem znaleźć odniesienia do tego w Spring LDAP documentation. Dlaczego otrzymuję powyższy wyjątek, jeśli nie dodaję tego? Nie jestem zadowolony z tego rozwiązania, ponieważ muszę napisać atrybut filtrowania użytkownika w dwóch miejscach.

PS: Sprawdziłem Spring Security LDAP - No UserDetailsService registered. Tam wyjątek jest inny i domyślam się, że wersja Spring Security też jest inna.

Odpowiedz