Создайте класс пользователя, давайте назовем его Тип анонимного пользователя . Предоставьте всем неаутентифицированным пользователям анонимные учетные записи (в какой-то момент вы должны очистить старые учетные записи). Используйте постоянный файл cookie, чтобы связать старых пользователей с их анонимной учетной записью. Заставьте их аутентифицировать себя всякий раз, когда им нужно выполнить то, что требует оплаты или полной регистрации. Измените их тип пользователя на что-то вроде Обычный тип пользователя , как только они будут аутентифицированы, чтобы вы могли сохранить всю информацию, которая уже была прикреплена к ним, когда они были анонимными.
Это позволяет отслеживать и хранить потенциальную информацию, такую как корзины покупок, без предварительной регистрации. Ваш код не должен сильно меняться, если вы относитесь к анонимному пользователю аналогично обычным пользователям. В противном случае вам придется создать совершенно новый набор кода для управления специальными пользователями, которые не хранятся в вашей основной таблице пользователей.