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

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

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

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

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

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

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

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

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

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

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

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

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

Метки:

Похожие статьи:

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

Комментарии (6)