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

Метод logout класса Security

Метод logout класса Security завершает сессию текущего пользователя и удаляет его токен из хранилища. После вызова этого метода пользователь считается анонимным, а все данные, связанные с его аутентификацией, становятся недоступными. Метод не принимает обязательных параметров и возвращает void.

Синтаксис

public function logout(): void

Пример

Давайте получим сервис Security в контроллере и вызовем метод logout для завершения сессии пользователя:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Security\Core\Security; class AuthController extends AbstractController { #[Route('/logout/manual', name: 'auth_logout_manual')] public function logoutManual(Security $security): Response { $security->logout(); return new Response('User logged out'); } } ?>

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

User logged out

Пример

Давайте проверим, что после вызова logout пользователь действительно стал анонимным, используя метод getUser:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Security\Core\Security; class AuthController extends AbstractController { #[Route('/logout/check', name: 'auth_logout_check')] public function logoutCheck(Security $security): Response { $userBefore = $security->getUser(); $security->logout(); $userAfter = $security->getUser(); $res = [ 'before' => $userBefore ? $userBefore->getUserIdentifier() : null, 'after' => $userAfter ? $userAfter->getUserIdentifier() : null, ]; return new Response(json_encode($res)); } } ?>

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

{"before":"abcde","after":null}

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

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