Расширение процесса входа в Spring Security - PullRequest
4 голосов
/ 30 июня 2011

В настоящее время у меня есть настраиваемая страница входа в форму в Spring Security 3, которая отправляет данные формы на правильный URL-адрес аутентификации.

Однако теперь мне нужно расширить процесс для поддержки вопросов безопасности после входа в систему, но до перехода на остальную часть сайта.

У меня есть несколько вариантов чтения документации, но я не совсем понимаю, какой правильный выбор выбрать.

Вариант 1: Сохраните текущую систему входа в систему и установите специальную роль, которая только дает пользователю доступ к странице с вопросами безопасности. Если они успешно проходят через вопросы безопасности, добавьте их правильные роли в контекст безопасности.

Вариант 2: Подкласс AbstractAuthenticationProcessingFilter и выполнение вопросов безопасности как часть процесса входа в систему. Это выглядит более по-весеннему, но я застрял на том, как поддержать несколько страниц для вопросов с нарушением остальной части инфраструктуры аутентификации.

Ответы [ 2 ]

0 голосов
/ 13 июля 2011

В итоге я воспользовался вариантом 1. Ответ @ craftsman не подходит, поскольку вопросы индивидуальны для каждого пользователя. Это действительно сработало очень хорошо.

0 голосов
/ 30 июня 2011

Как насчет этого подхода:

  1. Когда пользователь отправляет свое имя пользователя / пароль, сохраните их в своем сеансе.
  2. Перенаправьте ее на свои вопросы.
  3. Когда она закончит отвечать на ваши вопросы, посмотрите, не хотите ли вы позволить ей войти.3.1.Если да, отправьте ей сохраненные учетные данные, чтобы они могли быть перехвачены и обработаны цепочкой фильтров Spring Security.3.2.Если нет, верните ее на страницу входа.(Или все, что вы хотите сделать в этом случае.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...