2011-09-02 4 views
0

Я использую Spring security 3.0.5 в своем веб-приложении на основе Spring MVC. Нам нужно проверить четыре параметра для аутентификации, то есть имя пользователя, пароль, компанию и организацию.Как создать и настроить пользовательский UserDetailsByNameServiceWrapper в Spring Security 3.0.5?

Для этого я написал свой собственный токен аутентификации, который инкапсулирует эти четыре поля. У меня также есть пользовательская информация о пользователях.

У обычной службы UserDetails есть loadUserByUsername (имя пользователя), но в моем случае мне нужен этот метод, чтобы принять все четыре параметра. Для этого я решил предоставить пользовательскую реализацию UserDetailsByNameServiceWrapper, которая вызывает loadUserByUsername (имя пользователя).

В моей собственной реализации я передам весь объект аутентификации, а не только имя пользователя.

Я не получаю, как подключить свой пользовательский UserDetailsByNameServiceWrapper в файле xml весны безопасности.

Пожалуйста, помогите.

ответ

0

Вместо того, чтобы создавать «свои собственные» UserDetailsByNameServiceWrapper, вместо этого вы захотите реализовать AuthenticationUserDetailsService. Затем этому классу может быть введена следующая конфигурация Spring Security:

<bean id="preAuthAuthProvider" class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider"> 
    <property name="preAuthenticatedUserDetailsService" ref="yourAuthenticationUserDetailsService" /> 
</bean> 
Смежные вопросы