我想将验证码添加到spring安全表单中,我该如何实现?
我已声明我的自定义表单登录如:<form-login login-page="/login" />
现在我需要覆盖验证过滤器以验证验证码,如何操作?
答案 0 :(得分:2)
@misha,看一下这篇文章:Spring Security 3: Integrating reCAPTCHA Service。
这使用两个过滤器使reCAPTCHA集成尽可能无缝且不引人注目。这意味着您现有的Spring Security实施不会中断。无需触及现有课程。
无需覆盖现有实施。您可以将CAPTCHA添加到现有实施中。
答案 1 :(得分:0)
我猜你可以覆盖attemptAuthentication
方法如下(伪代码):
1. get captcha response
2. verify captcha response
3. if invalid response, throw some kind of AuthenticationException (may be named as CaptchaFailedException) that you can check in your custom AuthenticationFailureHandler
4. if valid response, call super.attemptAuthentication(request,response)