2008-10-20 52 views
15

¿Cuál es la forma adecuada de integrar SpringSecurity con Capcha?Integración de Captcha con Spring Security

Tengo el siguiente caso de uso: Cuando el usuario intenta iniciar sesión, si no puede iniciar sesión N veces, se mostrará el captcha, por lo que la autenticación utilizará tres parámetros: nombre de usuario, contraseña, captcha. Pero Spring Security no es compatible con el manejo incorporado de Captcha.

Empiezo a pensar en la implementación. Y tienen siguientes variantes:

  • Adición de filtro de seguridad por separado en pila de filtros Spring Security,
  • totalmente reescribir AuthenticationProcessingFilter para apoyar algunas Captcha
  • Uso alguna autenticación programática con la lógica de interceptación código de imagen y luego la transferencia de nombre de usuario y contraseña a la primavera Seguridad

Como implementación de Captcha, pienso en JCaptcha, pero ¿qué opinas?

Respuesta

5

Como una alternativa al uso JCaptcha, si desea utilizar el reCAPTCHA Service en su sitio, a continuación, echa un vistazo a la sección libre 4.4 (direct PDF link) de la nueva Spring in Practice libro (actualmente en fase beta).

Esto muestra su integración con Spring MVC y Spring Validation. Dado que la integración está en el front-end, con API externas, Spring Security realmente no entra en escena aquí.

No estoy seguro de cuál es su caso de uso? ¿Esperas usar captchas como una alternativa a la autenticación para probar la "humanidad"?

+1

He editado mi pregunta, para que sea más claro sobre la situación. Necesito enviar 3 campos simultáneamente: captcha, nombre de usuario y contraseña. –

0

Realicé la integración con reCaptcha y Spring Security (Spring Web Flow + JSF) definiendo un filtro de seguridad personalizado. Tal vez no es muy elegante, pero funciona bien. Usted puede mirar en mi blog - por desgracia, en polaco, pero tal vez le ayudará a alguien ... o

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

5

Tome un vistazo a este artículo: Spring Security 3: Integrating reCAPTCHA Service.

Esto utiliza dos filtros para hacer que la integración de reCAPTCHA sea lo más perfecta y discreta posible. Eso significa que su implementación actual de Spring Security no se romperá. No es necesario tocar las clases existentes

Cuestiones relacionadas