UserProviderInterface
interface UserProviderInterface
Represents a class that loads UserInterface objects from some source for the authentication system.
In a typical authentication configuration, a username (i.e. some unique user identifier) credential enters the system (via form login, or any method). The user provider that is configured with that authentication method is asked to load the UserInterface object for the given username (via loadUserByUsername) so that the rest of the process can continue.
Internally, a user provider can load users from any source (databases, configuration, web service). This is totally independent of how the authentication information is submitted or what the UserInterface object looks like.
Methods
UserInterface | loadUserByUsername(string $username) Loads the user for the given username. | |
UserInterface | refreshUser(UserInterface $user) Refreshes the user. | |
bool | supportsClass(string $class) Whether this provider supports the given user class. |
Details
UserInterface loadUserByUsername(string $username)
Loads the user for the given username.
This method must throw UsernameNotFoundException if the user is not found.
Parameters
string | $username | The username |
Return Value
UserInterface |
Exceptions
UsernameNotFoundException | if the user is not found |
UserInterface refreshUser(UserInterface $user)
Refreshes the user.
It is up to the implementation to decide if the user data should be totally reloaded (e.g. from the database), or if the UserInterface object can just be merged into some internal array of users / identity map.
Parameters
UserInterface | $user |
Return Value
UserInterface |
Exceptions
UnsupportedUserException | if the user is not supported |
bool supportsClass(string $class)
Whether this provider supports the given user class.
Parameters
string | $class |
Return Value
bool |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Security/Core/User/UserProviderInterface.html