我一直试图在三次错误的登录尝试后在登录页面上显示recaptcha但是无法得到确切的想法。
当我浏览以下链接时
如何不使用任何外部捆绑包。当我在基于symfony2的项目中工作时,但这个登录对我来说有点棘手。
编辑
仅供参考,我在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,但在提交过程中没有验证。
请帮忙!
答案 0 :(得分:0)
登录时,您需要基本拥有自己的身份验证提供程序,因为表单由特殊的symfony进程处理,其中只考虑用户名和密码。
http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html