File: /home/wbwebdes/domains/uren-registratie.blankevoort.net/public_html/src/Security/UserChecker.php
<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Security;
use App\Entity\User;
use Symfony\Component\Security\Core\Exception\AccountStatusException;
use Symfony\Component\Security\Core\Exception\DisabledException;
use Symfony\Component\Security\Core\User\UserCheckerInterface;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* Advanced checks during authentication to make sure the user is allowed to use Kimai.
*/
final class UserChecker implements UserCheckerInterface
{
/**
* @param UserInterface $user
* @throws AccountStatusException
*/
public function checkPreAuth(UserInterface $user): void
{
if (!($user instanceof User)) {
return;
}
if (!$user->isEnabled()) {
$ex = new DisabledException('User account is disabled.');
$ex->setUser($user);
throw $ex;
}
}
/**
* @param UserInterface $user
* @throws AccountStatusException
*/
public function checkPostAuth(UserInterface $user): void
{
if (!($user instanceof User)) {
return;
}
if (!$user->isEnabled()) {
$ex = new DisabledException('User account is disabled.');
$ex->setUser($user);
throw $ex;
}
}
}