Таблица user + user_session
user_session:
user_id
token
ip
.. еще что душе угодно (агент, дата старта и т.п.)
В куках храните token, по нему же и ищите юзера в user_session
При успешной авторизации создаете запись в user_session, с указанием токена.
Токен вешаете клиенту.
Можно реализовать также привязку к IP (подсети), дабы снизить риск кражи сессии.
При логауте - вешаете флаг, что токен не активен.