Интеграция Captcha с помощью Spring Безопасность

Каков подходящий способ интеграции SpringSecurity с Capcha?

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

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

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

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

Ответы

Ответ 1

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

Здесь показана интеграция с Spring MVC и Spring Validation. Поскольку интеграция находится на интерфейсе, w/внешние API, Spring Безопасность на самом деле не попадает сюда.

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

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