如何以symfony2和recaptcha的登录形式实现recaptcha,应在三个错误的登录尝试后显示



我一直在尝试在三个错误的登录尝试后在登录页面上显示recaptcha,但无法获得确切的想法。

当我经历以下链接

  1. 添加captcha-to-symfony2-login-page
  2. 动态风格风格的fos-userbundle-login-page
  3. 参考 - 安全壁壁式形式
  4. is-is the-spre-sort-pre-login-event-orsimilar

如何在没有任何外部捆绑的情况下做。当我在基于Symfony2的项目中工作时,此登录对我来说很棘手。

编辑

fyi,我在Bundle中创建了LogIntype,并更新Security.yml文件。 logintype.php

class LoginType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('username','text')
            ->add('password','password')
            ->add('recaptcha', 'ewz_recaptcha', array(
                    'attr' => array(
                        'options' => array(
                            'theme' => 'white'
                        )
                    ),
                    'mapped' => false,
                    'constraints'   => array(
                        new True
                    )
                )
            )
        ;
    }
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'intention' => 'authentication'
        ));
    }
    public function getName()
    {
        return 'login';
    }
}

security.yml

    username_parameter: "login[username]"
    password_parameter: "login[password]"
    csrf_parameter: "login[_token]"
    csrf_provider: form.csrf_provider
    intention: authentication                 
    check_path:  login_check 
    login_path:  login

我可以以登录形式看到recaptcha,但在提交过程中未验证。

请帮助!

登录名,您需要基本上拥有自己的身份验证提供商,因为该表格是由仅考虑用户名和密码的特殊Symfony过程来处理的。

http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html

最新更新