interface UserInterface

Represents the interface that all user classes must implement.

This interface is useful because the authentication layer can deal with the object through its lifecycle, using the object to get the hashed password (for checking against a submitted password), assigning roles and so on.

Regardless of how your users are loaded or where they come from (a database, configuration, web service, etc.), you will have a class that implements this interface. Objects that implement this interface are created and loaded by different objects that implement UserProviderInterface.

Methods

array
getRoles()

Returns the roles granted to the user.

void
eraseCredentials()

Removes sensitive data from the user.

string
getUserIdentifier()

Returns the identifier for this user (e.g. username or email address).

Details

array getRoles()

Returns the roles granted to the user.

public function getRoles() { return ['ROLE_USER']; }

Alternatively, the roles might be stored in a roles property, and populated in any number of different ways when the user object is created.

Return Value

array

void eraseCredentials()

Removes sensitive data from the user.

This is important if, at any given point, sensitive information like the plain-text password is stored on this object.

Return Value

void

string getUserIdentifier()

Returns the identifier for this user (e.g. username or email address).

Return Value

string