Подскажите пожалуйста, у меня есть таблица Users в DB и модель Users. Авторизацию пользователя по данным из БД я сделал, сейчас хочу сделать регистрацию (я знаю что есть готовые расширения, но моя цель - учеба). Подскажите, как лучше, сделать две модели Users или лучше пользоваться одной?
Дело в том, что в БД у меня данные хранятся также как в примере с блогом: соль и md5(соль+пароль). В связи с этим возникла некоторая трудность: при регистрации нового пользователя я генерирую соль и хэш пароля перекрывая метод beforeSave() модели Users. Делаю это в beforeSave потому, что при регистрации требуется повторный ввод пароля. Если хэшировать пароль в контроллере UsersControler в соответствующем действии, то в случае несовпадения пароля и его подтверждения вместо самого пароля будет выведен его хэш (конечно, можно выводить поля пароля пустые, но вопрос не в этом).
Код: Выделить всё
protected function beforeSave()
{
if(parent::beforeSave())
{
$this->password = $this->hashPassword($this->salt,$this->password);
$this->register = new CDbExpression('NOW()');
return true;
}
else
return false;
}
Вопрос: как с этим быть? Я конечно понимаю, что можно ввести доп. свойства и проверять их при выполнении события, но еще ведь можно создать отдельную модель. Или как быть? Посоветуйте пожалуйста