Мне бы хотелось получить ваш совет о том, что используют надежные фреймворки / код (RoR, Zend, Symfony, Django ...).
Я использую для своей системы управления пользователями (понимаю: логин, выход из системы, пользователь вошел в систему, идентификатор_пользователя, имя пользователя и т. Д .;) простая и крошечная структура (userCake). Я делаю рефакторинг своего кода, использую API для iPhone / Androi / Js, и я хотел бы обновить этот кусок кода. Мне нужно знать, просто ли я переставляю свои классы, зависимости, классы и сохраняю тот же процесс ИЛИ если мне нужно что-то изменить.
Текущее состояние игры
После успешного входа в систему я извлекаю все его данные, сериализую их, создаю sessionID. Я храню этот sessionID в пользовательском Cookie и все сериализованные данные в таблице БД, которая связывает sessionID и данные.
Затем на моем веб-сайте каждый раз, когда запрашивается страница, я извлекаю из БД сериализованные данные, соответствующие идентификатору сеанса, который пользователь имеет в своем файле cookie / сеансе. Затем я делаю запрос, чтобы убедиться, что имя пользователя и хешированный пароль совпадают в моей БД, и мой пользователь все еще активен (не заблокирован и не удален). То же самое сделано с моим API (iphone, Android, JS должен дать мне идентификатор сессии).
У меня есть cronjob, который удаляет из моей сеансовой таблицы тот, срок действия которого истек. Когда пользователь выходит из системы, это тоже самое, я удаляю строку в моей базе данных и очищаю куки пользователя.
Что я ищу
То, что я объяснил выше, мне кажется хорошим. Но достаточно ли это безопасно?
Действительно ли необходимо дважды проверять БД каждый раз, когда все в порядке с именем пользователя и паролем, я не могу просто доверять сериализованным данным в моей таблице сеансов?
Как все это делается в известных фреймворках (Django, Rails, Symfony ..)?