Если кому интересно сделал следующим образом:
Создал свой UserChecker и переопределил checker компонента security
class SecurityUserChecker extends UserChecker
{
/**
* Checks the user account before authentication.
*
* @param UserInterface $user a UserInterface instance
*/
public function checkPreAuth(UserInterface $user) {
parent::checkPreAuth($user);
if(!$user instanceof CustomUserInterface){
return;
}
if($user->isDeleted()){
$ex = new DeletedException('User account is deleted.');
$ex->setUser($user);
throw $ex;
}
}
}
security.user_checker:
class: UserBundle\Security\SecurityUserChecker
Добавил интерфейс с одним методом проверки, удален пользователь, али нет, и унаследовал его от стандартного Security интерфейса:
interface CustomUserInterface extends AdvancedUserInterface
{
/**
* @return boolean
*/
public function isDeleted();
}
Ну и добавил реализацию этого интерфейса в Entity User . В методе isDeleted() сделал проверку на удаление и все в принципе. Ну и свой DeletedException добавил еще.