Какая сущность в symfony security и Lexik JWT Bundle проверяет логин/пароль при входе?

В Symfony Security и Lexik JWT Bundle проверку логина и пароля при входе выполняет сущность, называемая UserProvider. UserProvider отвечает за получение пользовательских данных (таких как логин, пароль и другая информация) для аутентификации пользователя.

Когда пользователь пытается войти в систему, UserProvider получает введенные им данные и проверяет их на соответствие данным в хранилище пользователей, например, в базе данных или в памяти. Если данные соответствуют, UserProvider возвращает объект UserInterface, который представляет аутентифицированного пользователя.

В Symfony Security и Lexik JWT Bundle существует несколько встроенных реализаций UserProvider, включая InMemoryUserProvider, EntityUserProvider и LDAPUserProvider.

InMemoryUserProvider хранит пользователей в памяти и используется для разработки и тестирования.

EntityUserProvider используется для работы с базой данных и использует Doctrine для взаимодействия с ней. Он основан на Doctrine ORM и позволяет работать с сущностью пользователя, которая должна реализовывать интерфейс UserInterface.

LDAPUserProvider предоставляет возможность аутентификации пользователей через сервер LDAP (Lightweight Directory Access Protocol).

Для использования одного из этих UserProvider в Symfony Security необходимо настроить соответствующий provider в файле конфигурации security.yaml. Например, для использования EntityUserProvider вы можете настроить его следующим образом:

security:
    providers:
        user_provider:
            entity:
                class: AppEntityUser
                property: email

Здесь class указывает на класс пользователя, который должен реализовывать UserInterface, а property указывает на поле, используемое для получения пользователя (в данном случае это поле email).

Таким образом, в Symfony Security и Lexik JWT Bundle проверку логина и пароля при входе выполняет UserProvider, который получает данные пользователя из указанного источника данных и, при успешной аутентификации, возвращает объект UserInterface.