将Captcha与Spring Security集成

时间:2008-10-20 04:14:14

标签: java spring-security captcha

将SpringSecurity与Capcha集成的适当方法是什么?

我有以下用例: 当用户尝试登录时,如果他们未能登录N次,将显示验证码,因此验证将使用三个参数:用户名,密码,验证码。但Spring Security不支持内置的Captcha处理。

我刚开始考虑实施。并有以下变种:

  • 在Spring Security过滤器堆栈中添加单独的安全过滤器,
  • 完全重写AuthenticationProcessingFilter以支持某些Captcha
  • 使用一些编程身份验证和拦截验证码逻辑,然后将用户名和密码传输到Spring Security

作为一个Captcha实现,我想到了JCaptcha,但是你的想法是什么?

4 个答案:

答案 0 :(得分:5)

作为使用JCaptcha的替代方法,如果您想使用自己网站上的reCAPTCHA Service,请查看新direct PDF link本书的免费第4.4节(Spring in Practice) (目前处于测试阶段)。

这表明您与Spring MVC和Spring Validation集成。由于集成在前端,有外部API,因此Spring Security并没有真正体现在这里。

我不确定你的用例是什么?您是否希望使用验证码作为身份验证的替代方法来证明“人性”?

答案 1 :(得分:5)

看一下这篇文章:Spring Security 3: Integrating reCAPTCHA Service

这使用两个过滤器使reCAPTCHA集成尽可能无缝且不引人注目。这意味着您现有的Spring Security实施不会中断。无需触及现有的课程

答案 2 :(得分:0)

Kaptcha易于使用。

答案 3 :(得分:0)

我已经通过定义自定义安全过滤器与reCaptcha和Spring Security(Spring Web Flow + JSF)集成。也许它不是最优雅的,但效果很好。 你可以看看我的博客 - 遗憾的是,它可能会帮助你或某人...

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