我们需要在基于ASP.NET MVC 2的网站上放置验证码图像。我们选择了reCaptcha并使用Derik Whittaker描述的方式构建它。有一个想法是建立一些抽象,你需要做的就是用[ValidateCaptcha]
属性装饰你的Controller。这一切都很好。
但是,我们在不同的页面中有很多表单小部件,我不希望随处可见的验证码。所以我想以StackOverflow的方式实现它:Submit a Form -> Challenge Captcha -> Submit Captcha -> Perform Action on original form data
。
现在,如何在保留最初提交的信息的同时将用户重定向到验证码页面?
我想到了一些非常丑陋的黑客(带有base64编码表单数据的隐藏字段等),但我想我错过了一些明显的东西。另一方面,这听起来好像我想以有状态的方式做某事,我不应该这样做?