将验证码与弹簧安全集成

2022-09-03 07:47:43

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

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

我只是开始考虑实施。并具有以下变体:

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

作为一个验证码实现,我想到了JCaptcha,但是你的是什么呢?


答案 1

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

这显示了与Spring MVC和Spring Validation的集成。由于集成是在前端,使用外部API,因此Spring Security并没有真正进入这里。

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


答案 2

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

这使用两个过滤器使reCAPTCHA集成尽可能无缝且不显眼。这意味着您现有的Spring Security实施不会中断。无需接触现有类


推荐