Исключение Spring LDAP - не зарегистрирован UserDetailsService

Я пытаюсь использовать аутентификацию Spring Security 3.0.2 LDAP для веб-сайта JSF. Когда я использую приведенную ниже конфигурацию в applicationContext-security.xml, я получаю это исключение: org.springframework.beans.factory.BeanCreationException: Ошибка создания bean-компонента с именем 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices# 0': Инициализация bean-компонента не удалась; вложенным исключением является org.springframework.context.ApplicationContextException: No UserDetailsService зарегистрирован.

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

Я просто экспериментировал и обнаружил, что добавление ниже заставляет все работать.

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

Но я не смог найти ссылок на это в Документация Spring по LDAP. Почему я получаю вышеуказанное исключение, если я не добавляю это? Меня не устраивает этот обходной путь, так как мне нужно написать атрибут user-search-filter в двух местах.

PS: я проверил Spring Security LDAP — служба UserDetailsService не зарегистрирована< /а>. Там исключение другое, и я думаю, что версия Spring Security тоже другая.


person Cracker    schedule 18.06.2011    source источник


Ответы (1)


Я подозреваю, что вы установили <remember-me/> позже в контексте безопасности. Согласно документации: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#remember-me

Если вы используете поставщика проверки подлинности, который не использует службу UserDetailsService (например, поставщик LDAP), он не будет работать, если в контексте вашего приложения также не имеется bean-компонента UserDetailsService.

person Tomasz    schedule 07.05.2012