2008-10-20 80 views
15

将SpringSecurity与Capcha集成的适当方式是什么?将验证码与Spring Security集成

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

我刚开始考虑实施。并具有下列变量:

  • Spring Security的过滤器堆栈添加单独的安全过滤,
  • 完全重写AuthenticationProcessingFilter支持一些验证码
  • 使用与拦截验证码逻辑一些编程认证,然后transfering用户名和密码春天安全

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

回答

5

作为替代使用JCaptcha的,如果你想使用您网站上的reCAPTCHA Service,然后检查新Spring in Practice书(目前处于测试阶段)的自由4.4节(direct PDF link)。

这显示你与Spring MVC和Spring Validation的集成。由于整合是在前端,有外部API,Spring Security在这里并不真实。

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

+1

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

0

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

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