Джон.
У меня та же проблема, что и у вас (или у вас), но я обнаружил, что когда я (Symfony2 на самом деле =)) установил REMEMBERME cookie в строке 101 at / vendor / symfony / src / Symfony / Component / Security / Http / RememberMe / TokenBasedRememberMeService.php file $ user-> getPassword () возвращает NULL Таким образом, cookie получает хэш, рассчитанный со значением пароля NULL.
Что произойдет дальше, когда вы вернетесь на свой сайт с полной уверенностью в том, что вы будете автоматически аутентифицированы, Symfony начнет проверять ваш файл cookie в файле, аналогичном указанному выше , но в строке 58 он обнаруживает, что cookie хеш не совпадает с , он ожидает и выдает исключение ('Хэш cookie недействителен.') Внутренне перехватывает его и отправляется куда-то.
Так вот почему в моем случае cookie не работает.
Я еще не нашел решения, но я отыщу его и, возможно, мне повезет.
Надеюсь, что ваша проблема такая же, и решение поможет нам обоим.
Решение:
При реализации eraseCredentials (), который, как утверждается, будет использоваться для удаления конфиденциальных данных пользователя из UserInterface, не выполняет $ this-> password = null. Я сделал эту ошибку, потому что я не понимаю ее цели. Вы можете взглянуть на Выход из Symfony 2 (UserInterface :: eraseCredentials) для небольшого объяснения. Таким образом, он сериализует маркерный объект, и мы попали в беду.