хранение данных об «анонимном» пользователе

В настоящее время я работаю над разработкой приложения Symfony2, которое не только будет принимать регистрации пользователей, но позволит посетителям пройти почти весь поток сайта без создания учетной записи или входа в систему. Идеи дизайна выглядят примерно так (предложения / улучшения приветствуются):

  1. Когда пользователь входит в свою учетную запись, данные будут сохраняться для пользователя / связанных объектов как обычно
  2. Когда анонимный пользователь впервые попадает на сайт, для него создается «объект анонимного пользователя», как если бы он зарегистрировался, но с чем-то вроде USER_ в качестве идентификатора. персонализированного имени пользователя. Любая деятельность, которую они выполняют на сайте, сохраняется для этой анонимной пользовательской сущности
  3. Когда анонимный пользователь решает зарегистрироваться, их анонимная пользовательская сущность обновляется до зарегистрированной пользовательской сущности, сохраняя их данные для будущего использования
  4. Если анонимный пользователь покидает сайт без регистрации, анонимный пользовательский объект должен быть очищен через некоторое время, чтобы предотвратить накопление мертвых данных

Как лучше всего это сделать? В частности, что считается «лучшей практикой» для создания / управления объектом User для анонимного пользователя без необходимости помещать код в каждый контроллер?

7
задан Problematic 11 May 2011 в 16:55
поделиться