Интеграция Captcha с Spring Security

Как лучше всего интегрировать SpringSecurity с Capcha?

У меня есть следующий вариант использования: Когда пользователь попытается войти в систему, если нам не удалось войти в систему N раз, будет отображаться captcha, поэтому для аутентификации будут использоваться три параметра: имя пользователя, пароль, captcha. Но Spring Security не поддерживает встроенную обработку Captcha.

Я просто начинаю думать о реализации. И есть следующие варианты:

  • Добавление отдельного фильтра безопасности в стек фильтров Spring Security,
  • Полностью переписать AuthenticationProcessingFilter для поддержки некоторых Captcha
  • Используйте некоторую программную аутентификацию с логикой перехвата captcha, а затем передавайте имя пользователя и пароль в Spring Security.

В качестве реализации Captcha я думаю о JCaptcha, но что вы думаете?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
15
0
21 667
4

Ответы 4

В качестве альтернативы использованию JCaptcha, если вы хотите использовать Сервис reCAPTCHA на своем сайте, ознакомьтесь с бесплатным разделом 4.4 (прямая ссылка на PDF) новой книги Spring на практике (в настоящее время в стадии бета-тестирования).

Это показывает вам интеграцию с Spring MVC и Spring Validation. Поскольку интеграция осуществляется во внешнем интерфейсе с внешними API, Spring Security на самом деле здесь не участвует.

Я не уверен, каков ваш вариант использования? Вы надеетесь использовать капчи в качестве альтернативы аутентификации для подтверждения «человечности»?

Я отредактировал свой вопрос, чтобы прояснить ситуацию. Мне нужно отправить одновременно 3 поля: капчу, имя пользователя и пароль.

Pavel Rodionov 24.10.2008 12:10

Капча прост в использовании.

Я выполнил интеграцию с reCaptcha и Spring Security (Spring Web Flow + JSF), определив настраиваемый фильтр безопасности. Может быть, это не самый элегантный вариант, но работает хорошо. Вы можете посмотреть мой блог - к сожалению, на польском языке, но, возможно, поможет Вам или кому-то ...

http://marioosh.net/blog/?p=1087

Взгляните на эту статью: Spring Security 3: интеграция службы reCAPTCHA.

При этом используются два фильтра, чтобы сделать интеграцию reCAPTCHA максимально простой и ненавязчивой. Это означает, что ваша существующая реализация Spring Security не сломается. Не нужно трогать существующие классы

Другие вопросы по теме