Java 将Captcha与Spring安全性集成

Java 将Captcha与Spring安全性集成,java,spring-security,captcha,Java,Spring Security,Captcha,将SpringSecurity与Capcha集成的适当方式是什么 我有以下用例: 当用户尝试登录时,如果他登录N次失败,将显示验证码,因此身份验证将使用三个参数:用户名、密码、验证码。但是SpringSecurity不支持内置的验证码处理 我刚开始考虑实施。并有以下变体: 在Spring安全过滤器堆栈中添加单独的安全过滤器 完全重写AuthenticationProcessingFilter以支持某些验证码 使用一些带有拦截验证码逻辑的编程身份验证,然后将用户名和密码传输到Spring Sec

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

我有以下用例: 当用户尝试登录时,如果他登录N次失败,将显示验证码,因此身份验证将使用三个参数:用户名、密码、验证码。但是SpringSecurity不支持内置的验证码处理

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

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

作为验证码实现,我想到了JCaptcha,但您的想法是什么?

作为使用JCaptcha的替代方案,如果您想在您的站点上使用,请查看新书的免费部分4.4()(目前处于测试版)

这显示了与SpringMVC和SpringValidation的集成。由于集成在前端,带有外部API,因此Spring安全性并没有真正出现在这里


我不确定您的用例是什么?您希望使用CAPTCHA作为身份验证的替代方案来证明“人性化”吗?

易于使用。

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


看看这篇文章:


这使用了两个过滤器,使reCAPTCHA集成尽可能无缝和无结构。这意味着您现有的Spring安全性实现不会中断。不需要触及现有的课程

我编辑了我的问题,以便更清楚地了解情况。我需要同时提交3个字段:验证码,用户名和密码。