проверить, отключен ли пользователь в базе данных с помощью FOSUserBundle? - PullRequest
0 голосов
/ 24 февраля 2020

Я работаю над проектом, в котором требуется подтвердить при входе в систему, был ли пользователь недавно отключен, я отключаю пользователя в моей панели crud, и в тот момент, когда пользователь пытается войти снова, я должен показать ошибку При появлении сообщения типа «Ваш пользователь отключен», я получил сообщение «Недействительные учетные данные» для общего неудачного входа в систему с использованием стандартного исключения AuthentificationException, предоставленного symfony. Все, что я sh должен сделать, это сделать это пользовательское сообщение для этого конкретного сценария, проверяя, имеет ли этот пользователь свойство, включенное в true или falsa, у меня есть это в моем переопределении securityController:

  /** @Route("/login", name="login") */
    public function loginAction(Request $request): Response
    {
        $securityContext = $this->container->get('security.authorization_checker');

        if ($securityContext->isGranted('IS_AUTHENTICATED_REMEMBERED') ||
            $securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
                return $this->redirectToRoute('login_success');
        }

        $this->form = $this->createForm(CaptchaLoginType::class);
        $this->form->handleRequest($request);

        $refers = $request->headers->get('Referer');

        if (!empty($refers) && $refers !== $this->generateUrl('login', [], UrlGeneratorInterface::ABSOLUTE_URL)) {
            $this->session->set('login_referer', $refers);
        }

        if ($this->form->isSubmitted() && $this->form->isValid()) {
            return $this->redirectToRoute('fos_user_security_check', [
                'request' => $request,
            ], 307);
        }

        return parent::loginAction($request);
    }

что ты мне предлагаешь сделать? как я могу добавить еще одно сообщение об ошибке?

...