/
AleksWork
/
diary_plants
Обзор
Документация
Войти
/
AleksWork
/
diary_plants
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/Application/Security/UserChecker.php
37 строк
1 KB
AlexeySerov
Make change symfony version to 7.4
08 май 2026, 16:41
08 май 2026, 16:41
1104513
Код
Авторство
О чём код?
<?php namespace App\Application\Security; use App\Domain\Entity\User; use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Security\Core\User\UserCheckerInterface; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Core\Exception\CustomUserMessageAccountStatusException; class UserChecker implements UserCheckerInterface { public function checkPreAuth(UserInterface $user): void { if (!$user instanceof User) { return; } // Проверка флага isActive if (!$user->isActive()) { throw new CustomUserMessageAccountStatusException('Ваш аккаунт заблокирован.'); } // Если используете SoftDeletable, можно проверить и это if ($user->getDeletedAt() !== null) { throw new CustomUserMessageAccountStatusException('Аккаунт удален.'); } } public function checkPostAuth(UserInterface $user, ?TokenInterface $token = null): void { // Проверки после успешного ввода пароля (например, истечение срока действия пароля) if (!$user instanceof User) { return; } } }