16

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

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

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

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

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

4

4 回答 4

4

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

这向您展示了与 Spring MVC 和 Spring Validation 的集成。由于集成在前端,带有外部 API,因此 Spring Security 并没有真正出现在这里。

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

于 2008-10-21T00:59:09.700 回答
4

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

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

于 2011-02-23T00:38:21.750 回答
1

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

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

于 2011-01-14T13:06:47.663 回答
0

Kaptcha易于使用。

于 2009-07-13T19:26:16.583 回答