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