Вы можете, как предлагает Гаэль, использовать Channel API, чтобы отследить это, но это, вероятно, перебор. Если вы хотите пройти этот маршрут, просто прослушайте подключенные сообщения & и обновите поле в db, которое указывает, что пользователь выполнил вход.
Менее дорогой маршрут может состоять в том, чтобы просто обновить поле в вашем запись пользователя, что-то вроде «в последний раз, когда этот пользователь запросил страницу». Если было больше n минут с момента последнего запроса пользователем страницы, предположите, что они вышли из системы. В самом деле, вы могли бы даже сделать это в memcache с картой от userid до последнего времени доступа.
Речь идет о том, что вы хотите делать с информацией о «подписанном»: если вы просто хотите дать общее представление о том, находится ли пользователь вокруг или сколько пользователей в сети, используя решение хранилища данных или memcache, вероятно, хорошо. С другой стороны, если вы хотите отразить присутствие пользователя, чтобы они могли реагировать, например. IM, тогда вам, вероятно, понадобится API канала в любом случае, чтобы вы могли немедленно доставить им сообщения.