1) Допустим пользователь ввел логин и пароль, отправил на сервер, на сервере произошла проверка на наличие пользователя и соответствие логин:пасс.
2) Если все ок, то генерируем случайную строку и записываем её в куки. Эту же строку сохраняем в базу данных, в таблицу X вида логин+строка.
3) При обновлении страницы/перехода на другие, отправляем куки со строкой на сервер и ищем строку в таблице X. Если там такая строка есть, то индетифицируем пользователя, отправляя в ответ логин, соответствующий строке.
Так ли работает система сессий и достаточно ли такой реализации или я что-то упустил?
И если всё так просто, то зачем использовать сторонние модули для реализации сессий?