РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
588 of 1361 menu

Метод getToken

Метод getToken класса TokenStorage возвращает объект токена, который представляет текущего аутентифицированного пользователя. Если пользователь не аутентифицирован, метод возвращает null. Токен содержит информацию о пользователе, его ролях и способе аутентификации. Метод не принимает параметров.

Синтаксис

public function getToken(): ?TokenInterface

Пример

Давайте получим текущий токен в контроллере и проверим, аутентифицирован ли пользователь:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; class AuthController extends AbstractController { public function index(TokenStorageInterface $tokenStorage): Response { $token = $tokenStorage->getToken(); if ($token === null) { return new Response('anonymous'); } return new Response('authenticated'); } } ?>

Результат выполнения кода для неаутентифицированного пользователя:

"anonymous"

Пример

Давайте получим имя пользователя из токена:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; class AuthController extends AbstractController { public function user(TokenStorageInterface $tokenStorage): Response { $token = $tokenStorage->getToken(); if ($token === null) { return new Response('no token'); } $user = $token->getUser(); return new Response($user->getUserIdentifier()); } } ?>

Результат выполнения кода для пользователя с идентификатором 'abcde':

"abcde"

Пример

Давайте проверим роли пользователя через токен:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; class AuthController extends AbstractController { public function roles(TokenStorageInterface $tokenStorage): Response { $token = $tokenStorage->getToken(); if ($token === null) { return new Response('no token'); } $roles = $token->getRoleNames(); return $this->json($roles); } } ?>

Результат выполнения кода:

["ROLE_USER", "ROLE_ADMIN"]

Смотрите также

  • класс TokenStorage,
    который хранит токен аутентификации
  • метод setToken,
    который устанавливает токен в хранилище
  • метод getUser,
    который возвращает текущего пользователя
  • метод isGranted,
    который проверяет права доступа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить