Теперь данные сеанса для анонимных (неаутентифицированных) пользователей моего веб-приложения не перемещаются/не назначаются пользователю после их входа в систему или регистрации.Перенос анонимных данных сеанса и ограничение их на аутентифицированный пользователь
Например: анонимный пользователь взаимодействует с приложением, создает некоторые данные сеанса (например, продукты в корзине), затем регистрирует/регистрирует и затем выходит из системы, данные сеанса по-прежнему доступны и не перемещаются/не выполняются недоступный для пользователя, не прошедшего проверку подлинности.
Я использую драйвер сеанса файлов (без базы данных), возможно, кто-то может предоставить пример того, что нужно изменить (я полагаю, в конфигурации сеанса), чтобы сделать доступными данные сеанса, созданные анонимным пользователем, и доступный только этому пользователю после их аутентификации путем входа в систему или регистрации и только во время аутентификации пользователя.
Требование к этому связано с тем, что пользователи приложения создают уникальные объекты (привязанные к их user_id), которые сохраняются только после оплаты, когда выполняется обработка заказа. Я храню их в сеансе до тех пор, пока пользователь не войдет в систему/не зарегистрируется и не завершит этап окончательного заказа, и только после этого они будут сохранены. Таким образом, я абсолютно не могу иметь пользовательские объекты, сохраненные в неидентифицированных сеансах после выхода пользователя из системы. Я мог бы отключить сеанс при выходе из системы, но в идеале я хочу сохранить их, когда пользователь заходит в систему.
Я не просто хочу удалить данные сеанса телеграммы после выхода из системы аутентифицированного пользователя. Я хочу, чтобы он оставался, но теперь ТОЛЬКО доступен для этого пользователя, когда они снова аутентифицируются/регистрируются. Таким образом, если анонимный пользователь добавляет продукты в корзину, а затем регистрирует/проверяет подлинность и затем выходит из системы, данные сеанса остаются, но теперь доступны только для этого пользователя при их аутентификации. Аналогично, если пользователь, прошедший проверку подлинности, добавляет продукты в корзину и затем выходит из системы, все данные сеанса для тележки остаются, но доступны только после входа пользователя в систему. – LaserBeak
Я думаю, что вы можете не понимать, как работают сеансы. Сеансы временны и хороши только для хранения информации, когда пользователь просматривает веб-сайт, и, как я упоминал в своем ответе, сеанс привязан к браузеру. Поэтому, даже если вы установили, что сеансы истекают через 10 лет (не очень хорошо), и вы сохранили информацию в этом сеансе, она будет работать только в одном браузере, который содержит идентификатор сеанса в cookie, если пользователь вошел в систему с та же учетная запись из другого браузера, что сеанс не будет доступен. Если вы хотите сохранить информацию о корзине, которую необходимо сохранить в базе данных. – Bogdan