Хорошо, у меня есть несколько модулей в моем приложении в Symfony. У меня есть только один безопасный модуль: включен. У меня также есть layout.php, который сверху включает меню с вкладками для отображения ссылок для каждого модуля в моем приложении. В этом меню также есть часть, где пользователю отображается ссылка «войти», если пользователь не вошел в систему, и «выйти», если пользователь вошел в систему.
Когда я пытаюсь посетить защищенный модуль: я перенаправлен на страницу входа. Я могу войти в систему в порядке, и печенье создано. Если я перейду к любому другому модулю, в меню отобразится ссылка «Выйти».
Допустим, я закрываю браузер (срок действия cookie истекает через 15 дней) и снова открываю браузер, и я захожу в модуль домашней страницы. Я должен войти в систему, но вместо этого в меню отображается «войти» (думая, что ни один пользователь не вошел в систему). Я пытаюсь посетить модуль secure: on, а затем, когда страница перезагружается, в меню отображается ссылка «Выйти из системы», поскольку теперь она читает файл cookie.
Что я обнаружил, так это то, что если файл cookie установлен, и я закрываю браузер и снова открываю его на домашней странице, есть два файла cookie: один «sfRemember» и второй «symfony». После того, как я зашел в безопасный модуль и прочитал cookie, cookie для «symony» полностью отличается от того, что отображается на домашней странице - это означает, что он не читает тот же cookie, и поэтому ссылка «log out» не появляется, пока я не посетите безопасный модуль. Если после того, как я открою этот защищенный модуль, я вернусь на домашнюю страницу, приложение отлично читает файл cookie и выводит сообщение «Выйти».
Я действительно понятия не имею, как подойти к этому. Любая помощь с благодарностью!