interface AdvancedUserInterface implements UserInterface

Adds extra features to a user class related to account status flags.

This interface can be implemented in place of UserInterface if you'd like the authentication system to consider different account status flags during authentication. If any of the methods in this interface return false, authentication will fail.

If you need to perform custom logic for any of these situations, then you will need to register an exception listener and watch for the specific exception instances thrown in each case. All exceptions are a subclass of AccountStatusException

Methods

Role[]
getRoles()

Returns the roles granted to the user.

string
getPassword()

Returns the password used to authenticate the user.

string|null
getSalt()

Returns the salt that was originally used to encode the password.

string
getUsername()

Returns the username used to authenticate the user.

eraseCredentials()

Removes sensitive data from the user.

bool
isAccountNonExpired()

Checks whether the user's account has expired.

bool
isAccountNonLocked()

Checks whether the user is locked.

bool
isCredentialsNonExpired()

Checks whether the user's credentials (password) has expired.

bool
isEnabled()

Checks whether the user is enabled.

Details

in UserInterface at line line 52
Role[] getRoles()

Returns the roles granted to the user.

public function getRoles() { return array('ROLE_USER'); }

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

Return Value

Role[] The user roles

in UserInterface at line line 62
string getPassword()

Returns the password used to authenticate the user.

This should be the encoded password. On authentication, a plain-text password will be salted, encoded, and then compared to this value.

Return Value

string The password

in UserInterface at line line 71
string|null getSalt()

Returns the salt that was originally used to encode the password.

This can return null if the password was not encoded using a salt.

Return Value

string|null The salt

in UserInterface at line line 78
string getUsername()

Returns the username used to authenticate the user.

Return Value

string The username

in UserInterface at line line 86
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.

at line line 50
bool isAccountNonExpired()

Checks whether the user's account has expired.

Internally, if this method returns false, the authentication system will throw an AccountExpiredException and prevent login.

Return Value

bool true if the user's account is non expired, false otherwise

See also

AccountExpiredException

at line line 62
bool isAccountNonLocked()

Checks whether the user is locked.

Internally, if this method returns false, the authentication system will throw a LockedException and prevent login.

Return Value

bool true if the user is not locked, false otherwise

See also

LockedException

at line line 74
bool isCredentialsNonExpired()

Checks whether the user's credentials (password) has expired.

Internally, if this method returns false, the authentication system will throw a CredentialsExpiredException and prevent login.

Return Value

bool true if the user's credentials are non expired, false otherwise

See also

CredentialsExpiredException

at line line 86
bool isEnabled()

Checks whether the user is enabled.

Internally, if this method returns false, the authentication system will throw a DisabledException and prevent login.

Return Value

bool true if the user is enabled, false otherwise

See also

DisabledException