Sonata Admin + FOS User Bundle - 将验证码添加到登录表单
Sonata Admin + FOS User Bundle - add captcha to login form
我正在寻找一种将验证码添加到 Sonata User Bundle 登录表单的方法(当然还有验证码验证!)。
我找不到任何关于在 Sonata User Bundle 中使用验证码的信息,所以我希望有人已经这样做了,或许可以提供一点帮助?
@编辑
根据 Frankbeen 的回答,我已经扩展了 AdminSecurityController(来自奏鸣曲用户包),它确实具有 loginAction(用于显示登录表单)和表单本身。
不幸的是,验证码没有被检查(我们提交表单后没有调用 loginAction)。这让我想知道用于实际检查提交表单的 controller:action 是什么?也许它是通过某种事件侦听器完成的?
Start reading 来自 a) 在 app/Resources 段落中定义新模板并覆盖 Security/login.html.twig模板.
遵循 this page,覆盖 SecurityController 并添加您的验证码逻辑。
我个人喜欢 Google Recaptcha. If you want to use that one you could also use the EWZRecaptchaBundle。
我相信我找到了解决方案。为了实现我想要的,我只需要在这个答案之后覆盖 UsernamePasswordAuthenticationListener:
Adding Captcha to Symfony2 Login Page
我正在寻找一种将验证码添加到 Sonata User Bundle 登录表单的方法(当然还有验证码验证!)。
我找不到任何关于在 Sonata User Bundle 中使用验证码的信息,所以我希望有人已经这样做了,或许可以提供一点帮助?
@编辑
根据 Frankbeen 的回答,我已经扩展了 AdminSecurityController(来自奏鸣曲用户包),它确实具有 loginAction(用于显示登录表单)和表单本身。
不幸的是,验证码没有被检查(我们提交表单后没有调用 loginAction)。这让我想知道用于实际检查提交表单的 controller:action 是什么?也许它是通过某种事件侦听器完成的?
Start reading 来自 a) 在 app/Resources 段落中定义新模板并覆盖 Security/login.html.twig模板.
遵循 this page,覆盖 SecurityController 并添加您的验证码逻辑。
我个人喜欢 Google Recaptcha. If you want to use that one you could also use the EWZRecaptchaBundle。
我相信我找到了解决方案。为了实现我想要的,我只需要在这个答案之后覆盖 UsernamePasswordAuthenticationListener:
Adding Captcha to Symfony2 Login Page