Подтвердить что ты не робот

Выход Symfony 2 (UserInterface:: eraseCredentials)

Я полагаю, что eraseCredentials предназначен для выхода из системы? Если да, то как я могу очистить сеанс от Entity Entity?

4b9b3361

Ответ 1

Нет, eraseCredentials() предназначен для стирания конфиденциальных данных перед сохранением токена - будь то сериализация или база данных.

Чтобы выйти из системы пользователем программно, вы можете использовать это:

$this->get('security.context')->setToken(null);
$this->get('request')->getSession()->invalidate();

Ответ 2

В дополнение к тому, что было сказано Эльнуром Абдуррахимовым, я предлагаю проверить this статьи, объясняя, как и почему мы должны использовать метод UserInterface:: eraseCredentials. В принципе, не рекомендуется повторно использовать свойство пароля для хранения пароля обычного текста, а затем перезаписать его с кодированной версией, поскольку это является обязательной ошибкой - программист может забыть закодировать пароль и сохранить объект как есть, сохраняя обычный текст вместо зашифрованного пароля.