Ну вообще, пыхчу я, кряхчу я, над очередным своим велосипедом и возник у меня следующий вопрос: какую инфу о пользователе следует хранить в сессиях?!!
Допустим, у нас есть сущность user
PHP код:
CREATE TABLE IF NOT EXISTS `user` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(100) NOT NULL,
`user_email` varchar(50) NOT NULL,
`user_password_hash` varchar(40) NOT NULL,
`registration_date` int(11) NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `user_email` (`user_email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Само собою, в сессиях непосредственный интерес представляет как минимум поле user_id, иначе то нам никак не определить пользователя.
! В принципе в данном случае уникальным так же является поле user_email, но его как первичный ключ мы не используем!
Вернемся к сути самого вопроса, с небольшой перефразировкой: что, кроме user_id стоит хранить в сессиях?!
Я сохраняю user_id и IP адрес, с которого произошла аутентификация.
У меня так же есть необходимость в хранении информации об правах доступа активного пользователя, ее я так же храню в сессиях или же лучше каждый раз ее запрашивать из БД? При запросе тратим в среднем 0.03 c, в принципе не так критично, но все же....
Очень хотелось бы услышать ваше мнение!
Социальные закладки