Symfony2: помните, что cookie удаляется при повторном открытии браузера

Несмотря на все остальные вопросы о переполнении стека, я не смог решить проблему со всей предоставленной информацией.
Вот почему я решил создать новый.

Поэтому я реализую функцию «запомнить меня» в моей форме входа с флажком, который выглядит так:

<input type="checkbox" id="form_saveCredentials" name="form[saveCredentials]"> 

При входе в систему все выглядит нормально, и cookie устанавливается правильно

cookie устанавливается правильно

Через весь сеанс браузера файл cookie остается в живых.
Но когда я закрываю браузер и снова открываю его, cookie все еще там (еще не перешел на мой локальный хот!).

Когда я перехожу на свой сайт на localhost, cookie удаляется в соответствии с заголовком ответа

введите описание изображения здесь

Я понятия не имею, почему файл cookie удаляется при навигации по сайту.

Возможно, проблема заключается в настройках securtiy.yml для функции remember_me

 firewalls: somefirewall: form_login: remember_me: true remember_me: key: %secret% lifetime: 31536000 remember_me_parameter: 'form[saveCredentials]' path: / domain: ~ 

Любая идея о том, как исправить эту проблему? заранее спасибо

Solutions Collecting From Web of "Symfony2: помните, что cookie удаляется при повторном открытии браузера"

Я недавно столкнулся с этой проблемой, и вот решение, которое я нашел:

Причина, по которой файл cookie удаляется, заключается в том, что информация пользователя, содержащаяся в файле cookie, не соответствует тому, что знает Symfony. Он не может зарегистрировать пользователя на основе cookie, поэтому он просто удаляет его. Проблема в моем случае была неправильной строкой в ​​моем классе UserProvider. Конкретный метод supportsClass . Он возвращал 'AppBundle\Security\User' когда он должен был фактически возвращать «AppBundle \ Entity \ User». Это привело к тому, что Symfony не смог найти пользователей на основе информации в файле cookie, а затем просто удалит файл cookie и продолжит работу.

Вы можете сделать еще несколько проблем при поиске в этом файле: vendor/symfony/symfony/src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php . Играйте в processAutoLoginCookie и посмотрите, не можете ли вы что-то понять!

Удачи!

Эта проблема может возникнуть, если ваше имя пользователя является действительным адресом электронной почты, но не равно электронной почте. Удалите все @ в именах пользователей.