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.2/Symfony/Component/Security/Core/User/UserProviderInterface.html