我一直在尝试在三个错误的登录尝试后在登录页面上显示recaptcha,但无法获得确切的想法。
当我经历以下链接
时- 添加captcha-to-symfony2-login-page
- 动态风格风格的fos-userbundle-login-page
- 参考 - 安全壁壁式形式
- 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