[英]How to override Symfony2 Login for captcha control?
首先;
我看到上面的談話,但這不完全是我想要的。 我只是想在驗證之前檢查驗證碼是否為假。
不,我不想使用捆綁包。
我需要知道,當symfony2執行安全登錄事件時?
圖:
登錄表單提交 - >檢查驗證碼 - >檢查參數 - >進行驗證。
任何想法?
我得到它與下面的工作。
<?php
namespace CS\UserBundle\Listener;
use Symfony\Component\Security\Core\Exception\BadCredentialsException;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
class LoginListener
{
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
$request = $event->getRequest();
$captcha = $request->request->get('captcha');
if(!empty($captcha) && $captcha !== $request->getSession()->get('captcha')) {
throw new BadCredentialsException('Doğrulama Kodu Yanlış!');
}
}
}
服務(yml)
services:
cs_user.login_listener:
class: CS\UserBundle\Listener\LoginListener
tags:
- { name: kernel.event_listener, event: security.interactive_login }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.