UserProviderInterface
интерфейс UserProviderInterface
Представляет класс, который загружает объекты UserInterface из какого-либо источника для системы аутентификации.
В типичной конфигурации аутентификации имя пользователя (т.е. какой-либо уникальный идентификатор пользователя) входит в систему (через форму входа или любым другим методом). Провайдер пользователей, который настроен с этим методом аутентификации, запрашивается для загрузки объекта UserInterface для данного имени пользователя (через loadUserByUsername), чтобы остальная часть процесса могла продолжиться.
Внутренне, провайдер пользователей может загружать пользователей из любого источника (базы данных, конфигурации, веб-сервиса). Это полностью независимо от того, как подаётся информация об аутентификации или как выглядит объект UserInterface.
Методы
| UserInterface | loadUserByUsername(string $username) Загружает пользователя по заданному имени пользователя. | |
| UserInterface | refreshUser(UserInterface $user) Обновляет данные пользователя. | |
| bool | supportsClass(string $class) Указывает, поддерживает ли этот провайдер данный класс пользователя. |
Подробное описание
UserInterface loadUserByUsername(string $username)
Загружает пользователя по заданному имени пользователя.
Этот метод должен вызывать исключение UsernameNotFoundException, если пользователь не найден.
Параметры
| string | $username | Имя пользователя |
Возвращаемое значение
| UserInterface |
Исключения
| UsernameNotFoundException | если пользователь не найден |
UserInterface refreshUser(UserInterface $user)
Обновляет данные пользователя.
Реализация должна определить, нужно ли полностью перезагружать данные пользователя (например, из базы данных), или объект UserInterface можно просто объединить в некотором внутреннем массиве пользователей/карте идентификаторов.
Параметры
| UserInterface | $user |
Возвращаемое значение
| UserInterface |
Исключения
| UnsupportedUserException | если пользователь не поддерживается |
| UsernameNotFoundException | если пользователь не найден |
bool supportsClass(string $class)
Указывает, поддерживает ли этот провайдер данный класс пользователя.
Параметры
| string | $class |
Возвращаемое значение
| bool |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Security/Core/User/UserProviderInterface.html