InMemoryUserProvider

class InMemoryUserProvider implements UserProviderInterface

InMemoryUserProvider is a simple non persistent user provider.

Useful for testing, demonstration, prototyping, and for simple needs (a backend with a unique admin for instance)

Methods

__construct(array $users = array())

The user array is a hash where the keys are usernames and the values are an array of attributes: 'password', 'enabled', and 'roles'.

createUser(UserInterface $user)

Adds a new User to the provider.

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

__construct(array $users = array())

The user array is a hash where the keys are usernames and the values are an array of attributes: 'password', 'enabled', and 'roles'.

Parameters

array $users An array of users

createUser(UserInterface $user)

Adds a new User to the provider.

Parameters

UserInterface $user

Exceptions

LogicException

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/InMemoryUserProvider.html