Реализация класса "пользователь"

lorien

Новичок
Реализация класса "пользователь"

Структура системы:
1) Библиотека базовых классов: работа с БД, файлами, сетевыми адресами, контоллер запросов и т.д.
2)Собвственно контроллеры для каждого запроса: они проверяют права, проводят валидацию данных
3)Модель данных т.е. классы, которые извлекают/сохраняют информацию какой-либо сущности (статья, новость,ссылка в каталоге)
4)Активные шаблоны(просто html-код с <?= ?> вставками с обращением к подготовленным данным.

Вопрос: как правильнее реализовать в такой системы поддержку пользователей. Ведь с одной стороны пользователь должен инициироваться, если у клиента есть нужные кукисы с авторизационной информацией или у него есть ID валидной сесси т.е. быть базовым классом системы, а с другой стороны пользователь относится к модели данных. У него есть профиль с местом жительства,возрастом, именем любимой собаки. Причём эти сущности - пользователь как состояние системы и пользователь как набор свойств - пересекаются по некоторым параметрам: id,логин, пароль...

Как вы обычно реализовываете работу с пользователями? Извиняйте за столь сумбурные мысли, просто если долго думать, то что-нить придумаю, а всё-таки интересно, что народ думает. Буду рад мыслям по теме или ссылкам.
 

bkonst

.. хочется странного?...
Я обычно делю пользовательские данные как минимум на две таблицы - одна хранит собственно информацию об учетной записи (логин, пароль, информация о текущей сессии), а вторая - данные профиля.

Это немного облегчает повторное использование кода- при изменении данных хранящихся в профиле, процедуры опознания пользователя могут оставаться прежними.
 

ssv

Новичок
Автор оригинала: bkonst
Я обычно делю пользовательские данные как минимум на две таблицы - одна хранит собственно информацию об учетной записи (логин, пароль, информация о текущей сессии), а вторая - данные профиля.

Это немного облегчает повторное использование кода- при изменении данных хранящихся в профиле, процедуры опознания пользователя могут оставаться прежними.
+1
 
Сверху