Регистрация пользователя в Yii2. Часть 3

Регистрация пользователя в Yii2

От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных знакомству с фреймворком Yii2. В этой статье мы продолжим работу с темой регистрации пользователя в Yii2, а также реализуем авторизацию зарегистрированных пользователей.

Итак, в двух предыдущих статьях мы с вами реализовали регистрацию. Данные пользователя успешно сохраняются в БД. Теперь пришла очередь авторизации. Здесь мы вновь воспользуемся моделью User, поскольку именно там находятся нужные методы.

По умолчанию в Yii уже реализована авторизация, но она локальна, т.е. есть пара тестовых пользователей, данные которых представлены в виде массива, записанного в свойство $users модели.

Регистрация пользователя в Yii2

Наша задача – использовать в качестве источника данных не массив, а таблицу пользователей в БД. Соответственно, можем смело удалить или закомментировать данный массив, он нам больше не понадобится.

Теперь некоторые правки в методы модели. Метод findIdentity() обращается к уже неиспользуемому массиву $users. Давайте перепишем его, реализовав обращение к БД:

public static function findIdentity($id)
{
    return static::findOne($id);
}

Теперь метод получает пользователя по ID. Следующий метод – findByUsername() – возвращает пользователя по его логину. Давайте также изменим его:

public static function findByUsername($username)
{
    return static::findOne(['username' => $username]);
}

И, наконец, метод validatePassword(). Как вы помните, пароль в БД у нас зашифрован, поэтому при валидации пароля мы должны его также шифровать, чтобы сравнить полученный хэш с тем, который записан в БД.

public function validatePassword($password)
{
    return \Yii::$app->security->validatePassword($password, $this->password);
}

Собственно, указанных шагов уже должно быть достаточно, чтобы пользователь смог авторизоваться. Давайте попробуем ввести логин и пароль, указанные при регистрации. Если все сделано верно, тогда после авторизации в меню мы должны увидеть свой логин.

Регистрация пользователя в Yii2

Ну что же, задача выполнена. На этом, пожалуй, все. Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков. Также создание простейшего блога на Yii2 можно посмотреть в этом цикле уроков.

Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Хотите узнать, что необходимо для создания сайта?

Посмотрите 3-х минутное видео и у Вас будет четкий пошаговый план по созданию сайта с нуля!

Смотреть видео

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree