Получение имени пользователя из сеанса в onAuthenticationFailure () - PullRequest
0 голосов
/ 15 мая 2018

Вкратце: в Системе пользовательской аутентификации с Guard , как я могу получить доступ к имени пользователя, которое в данный момент находится в сеансе, а не к текущему входу в систему?

Более длинная версия:
Я использую URL, содержащий токен, для аутентификации пользователя.Если токен становится недействительным, когда пользователь вошел в систему, а затем пользователь снова открывает тот же URL-адрес, возникает следующая ситуация: текущая попытка входа не удалась (т. Е. onAuthenticationFailure() срабатывает), поскольку токен больше не действителен.Тем не менее, пользователь все еще вошел в систему, так как данные в сеансе никогда не менялись.В Twig {{ app.user }} дает мне то, что я ищу (т.е. имя пользователя из сеанса).Как я могу получить к нему доступ из onAuthenticationFailure()?

1 Ответ

0 голосов
/ 15 мая 2018

Введите \Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface в свой класс аутентификатора (TokenAuthenticator.php ) и вызовите ->getToken()->getUser() в нем.

Если пользователь ранее не входил в систему, ->getToken() означает null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...