фонаутентификации два уровня с Spring Security
Наш сайт позволяет кому-то войти в систему, используя свой зарегистрированный адрес электронной почты и пароль. Теперь мы хотим разрешить пользователям регистрироваться, используя только их личность Facebook (в качестве альтернативного метода проверки подлинности). Мы планируем сделать это с помощью Spring Social + Spring Security 3.1
Вопрос
Существует раздел на сайте, который требует, чтобы иметь пароль, независимо от того, что проверка подлинности провайдера, который Вы используете. Зарегистрированный пользователь электронной почты не зависит от этого, но пользователи Facebook (потому что у них нет пароля). Они должны генерировать один ленивый способ (первый раз пользователь Facebook нажимает на ссылку), потому что небольшой процент пользователей будет использовать эту функцию (и мы не хотим, чтобы все пользователи Facebook беспокоились о создании пароля, когда они регистр).
Итак, как бы вы это сформулировали?
Например: мы знаем, что можно определить роль безопасности с именем «REGISTERED_WITH_PASSWORD» и сделать эти страницы доступными только для этой роли. Можно ли настроить Spring таким образом, чтобы при входе в систему «без пароля» пользователь Facebook пытался ввести страницу thate, перенаправляя его на страницу создания пароля, чтобы они могли создавать и повторять попытку? (вместо того, чтобы обрабатывать это как исключение авторизации).
Любые другие идеи? Любой элегантный дизайн будет приветствоваться, независимо от того, полагается ли он на вещи, относящиеся к Spring Sec 3.1.
Спасибо,
относительно третьего шага: вы имеете в виду отмену цепи фильтра с перенаправлением :? – Sebastian
@Sebastian, да, вызовите 'resp.sendRedirect' вместо' chain.doFilter' для пользователей facebook. – alexkasko