将SpringSecurity与Capcha集成的适当方法是什么?
我有以下用例:当用户尝试登录时,如果他们未能登录N次,将显示验证码,因此验证将使用三个参数:用户名,密码,验证码.但Spring Security不支持内置的Captcha处理.
我刚开始考虑实施.并有以下变种:
在Spring Security过滤器堆栈中添加单独的安全过滤器,
完全重写AuthenticationProcessingFilter以支持一些Captcha
使用一些编程身份验证和拦截验证码逻辑,然后将用户名和密码传输到Spring Security
作为一个Captcha实现,我想到了JCaptcha,但是你的想法是什么?
作为使用JCaptcha的替代方法,如果您想在您的网站上使用reCAPTCHA服务,请查看新的Spring in Practice一书(目前处于测试阶段)的免费第4.4节(直接PDF链接).
这表明您与Spring MVC和Spring Validation集成.由于集成在前端,而外部API,Spring Security并没有真正涉及到这里.
我不确定你的用例是什么?您是否希望使用验证码作为身份验证的替代方案来证明"人性"?
看一下这篇文章:Spring Security 3:集成reCAPTCHA服务.
这使用两个过滤器使reCAPTCHA集成尽可能无缝且不引人注目.这意味着您现有的Spring Security实施不会中断.无需触及现有课程