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 | если учетная запись не поддерживается |
bool supportsClass(string $class)
Указывает, поддерживает ли этот поставщик заданный класс пользователя.
Параметры
| string | $class |
Возвращаемое значение
| bool |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Security/Core/User/UserProviderInterface.html