2014-01-06 3 views
0

Приложение с текущей пружиной требует очень специфичного способа аутентификации пользователя:Какой уровень аутентификации должен быть настроен в этой ситуации?

пользователь входит в приложение через форму с именем пользователя (поле ввода) и методом аутентификации (раскрывающийся список) и ..потенциально пароль (поле ввода), если необходимо , то пользователь должен иметь возможности войти в приложении с помощью предусмотренного метода проверки подлинности и учетных данных (имени пользователя и пароля не потребуется, если использовать LDAP и т.д.)

Таким образом, в этом случае, я думаю,

<AuthenticationManager> 
    <BASICAuthenticationProvider/> 
    <DAOAuthenticationProvider/> 
    <LDAPAuthenticationProvider/> 
    ...... 
</AuthenticationManager> 

делает не применяются к этому сценарию. Я новичок в Spring Security, и после небольшого исследования я обнаружил, что несколько мест могут нуждаться в настройке в этой ситуации: AuthenticationManager, AuthenticationProvider, PreAuthenticationFilter и т. Д., Но не знаю, что начать. Тогда какие классы должны были быть переопределены? AuthenticationProvider? или предварительная аутентификация? или даже AuthenticationManager? Кажется, что многое из весенней безопасности, но я просто не уверен, где лидерство. Я проверяю официальный документ, но не могу найти решение, подобное этой ситуации.

Заранее благодарен.

+1

Извините, но в чем вопрос? –

+0

@ Elliott Frisch Просто обновите вопрос, извините за путаницу. – Dreamer

+0

Что такое «очень конкретный способ»? Дайте нам пример URL-адреса, пожалуйста. –

ответ

1

Вы должны начать с какими-то вещами, как этого

<authentication-manager> 
    <authentication-provider user-service-ref="authenticationService"> 
    </authentication-provider> 
</authentication-manager> 

AuthenticationService необходимо реализовать UserDetailsService (который является основным интерфейсом, который загружает пользовательские данные.). Здесь вы можете переопределить метод loadUserByUsername и предоставить Дао, который может получить форму данных пользователя db.

Смежные вопросы