Итак, давайте будем приступать к освоению таких инструментов как аутентификация и авторизация пользователей в фреймворке Symfony.

Я открыл простой и пустой проект в Symfony 4 и давайте на примере этого проекта будем работать и постепенно разбираться в этой технологии, как это реализуется в фреймворке Symfony.

Для начала, давайте создадим контроллер:

bin/console make:Controller

имя контроллера пусть будет MainController главный контроллер и, собственно говоря, наш контроллер готов.

Запустив тестовый сервер проверяем, что этот контроллер работает (см. видео).

По умолчанию, мы работаем под анонимным пользователем.

Для того, чтобы приступить к процессу аутентификации и авторизации пользователя, нам нужно установить специальную библиотеку Symfony:

composer require security

Библиотека Security – это специальная библиотека, которая поможет нам получить доступ к дополнительным методам Symfony, которые работают с аутентификацией и авторизацией пользователей.

Первое, что нам нужно сделать, для начала работы – это создать специальную сущность User – т.е. пользователь. Это тот, кто будет проходить процесс аутентификации на сайте.

После того, как мы установили пакет библиотек Security, мы получаем доступ к возможности установить специальную сущность User.

Для этого выполняем команду:

bin/console make:user

Если у вас возникнет ошибка «Command "make:user" is not defined.", скорее всего, Вам будет нужно обновить специальную библиотеку:

сomposer update symfony/maker-bundle

Еще раз выполняем команду:

bin/console make:user

Первым делом, нужно создать сам класс User. Можно оставить имя по умолчанию.

Желаете ли вы, чтобы данные пользователя хранились в базе данных?

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

Введите то свойство, которое уникальным образом будет характеризовать пользователя, к которому мы его будем определять. Либо это email, либо это имя пользователя или уникальный идентификатор этого пользователя. В большинстве случаев это email.

Нужно ли проверять пароль пользователя?

Ставим yes.

После ответа на эти вопросы, наш класс пользователя будет создан и в следующей серии уроков мы будем с этим классом работать и будем делать так, чтобы пользователь мог на нем зарегистрироваться и получить доступ к каким-то закрытым материалам на нашем сайте. Вот такое первое вводное видео. Сделайте такие подготовительные работы и будем двигаться дальше.