将Captcha与Spring Security集成

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

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

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

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

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

作为使用JCaptcha的替代方法,如果您想在您的网站上使用reCAPTCHA服务 ,请查看新的Spring in Practice一书(目前处于测试阶段)的免费第4.4节( 直接PDF链接 )。

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

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

看一下这篇文章: Spring Security 3:集成reCAPTCHA服务 。

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

Kaptcha很容易使用。

我已经通过定义自定义安全filter与reCaptcha和Spring Security(Spring Web Flow + JSF)集成。 也许它不是最优雅的,但效果很好。 你可以看看我的博客 – 不幸的是在波兰,但也许会帮助你或某人……

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