<?php
namespace App\EventListener;
use Symfony\Component\Security\Http\Event\LoginFailureEvent;
use App\Services\Security\IpTools;
class LoginFailureListener
{
public function __construct(IpTools $ipTools)
{
$this->ipTools = $ipTools;
}
public function onLoginFailure(LoginFailureEvent $event)
{
// Get username in the request event
$username = null;
if ($event->getRequest() !== null)
{
$username = $event->getRequest()->request->get('_username');
}
// Fail2ban
$this->ipTools->fail2ban(array('username' => $username));
}
}