class User

User authentication and authorization.

Constants

deprecated MANUAL

deprecated INACTIVITY

LOGOUT_MANUAL

Log-out reason

LOGOUT_INACTIVITY

Log-out reason

Properties

$guestRole

default role for unauthenticated user

$authenticatedRole

default role for authenticated user without own identity

callable[] $onLoggedIn
callable[] $onLoggedOut

Methods

__construct(UserStorage $storage, Authenticator|null $authenticator = null, Authorizator|null $authorizator = null)

No description

getStorage()

No description

void
login(IIdentity $user, string|null $password = null)

Conducts the authentication process. Parameters are optional.

void
logout(bool $clearIdentity = false)

Logs out the user from the current session.

bool
isLoggedIn()

Is this user authenticated?

IIdentity|null
getIdentity()

Returns current user identity, if any.

string|int|null
getId()

Returns current user ID, if any.

void
refreshStorage()

No description

setAuthenticator(Authenticator $handler)

Sets authentication handler.

getAuthenticator()

Returns authentication handler.

Authenticator|null
getAuthenticatorIfExists()

Returns authentication handler.

bool
hasAuthenticator() deprecated

No description

setExpiration(string|null $expire, bool $clearIdentity = false)

Enables log out after inactivity (like '20 minutes').

int|null
getLogoutReason()

Why was user logged out? Returns LOGOUT_MANUAL or LOGOUT_INACTIVITY.

array
getRoles()

Returns a list of effective roles that a user has been granted.

bool
isInRole(string $role)

Is a user in the specified effective role?

bool
isAllowed($resource = Authorizator::ALL, $privilege = Authorizator::ALL)

Has a user effective access to the Resource? If $resource is null, then the query applies to all resources.

setAuthorizator(Authorizator $handler)

Sets authorization handler.

getAuthorizator()

Returns current authorization handler.

Authorizator|null
getAuthorizatorIfExists()

Returns current authorization handler.

bool
hasAuthorizator() deprecated

No description

Details

at line 67
__construct(UserStorage $storage, Authenticator|null $authenticator = null, Authorizator|null $authorizator = null)

No description

Parameters

UserStorage $storage
Authenticator|null $authenticator
Authorizator|null $authorizator

at line 79
final UserStorage getStorage()

No description

Return Value

UserStorage

at line 93
void login(IIdentity $user, string|null $password = null)

Conducts the authentication process. Parameters are optional.

Parameters

IIdentity $user

name or Identity

string|null $password

Return Value

void

Exceptions

AuthenticationException

at line 117
final void logout(bool $clearIdentity = false)

Logs out the user from the current session.

Parameters

bool $clearIdentity

Return Value

void

at line 134
final bool isLoggedIn()

Is this user authenticated?

Return Value

bool

at line 147
final IIdentity|null getIdentity()

Returns current user identity, if any.

Return Value

IIdentity|null

at line 175
string|int|null getId()

Returns current user ID, if any.

Return Value

string|int|null

at line 182
final void refreshStorage()

No description

Return Value

void

at line 191
User setAuthenticator(Authenticator $handler)

Sets authentication handler.

Parameters

Authenticator $handler

Return Value

User

at line 201
final Authenticator getAuthenticator()

Returns authentication handler.

Return Value

Authenticator

at line 214
final Authenticator|null getAuthenticatorIfExists()

Returns authentication handler.

Return Value

Authenticator|null

at line 221
final bool hasAuthenticator() deprecated

deprecated

No description

Return Value

bool

at line 230
setExpiration(string|null $expire, bool $clearIdentity = false)

Enables log out after inactivity (like '20 minutes').

Parameters

string|null $expire
bool $clearIdentity

at line 240
final int|null getLogoutReason()

Why was user logged out? Returns LOGOUT_MANUAL or LOGOUT_INACTIVITY.

Return Value

int|null

at line 252
array getRoles()

Returns a list of effective roles that a user has been granted.

Return Value

array

at line 266
final bool isInRole(string $role)

Is a user in the specified effective role?

Parameters

string $role

Return Value

bool

at line 282
bool isAllowed($resource = Authorizator::ALL, $privilege = Authorizator::ALL)

Has a user effective access to the Resource? If $resource is null, then the query applies to all resources.

Parameters

$resource
$privilege

Return Value

bool

at line 297
User setAuthorizator(Authorizator $handler)

Sets authorization handler.

Parameters

Authorizator $handler

Return Value

User

at line 307
final Authorizator getAuthorizator()

Returns current authorization handler.

Return Value

Authorizator

at line 320
final Authorizator|null getAuthorizatorIfExists()

Returns current authorization handler.

Return Value

Authorizator|null

at line 327
final bool hasAuthorizator() deprecated

deprecated

No description

Return Value

bool

Traits

Strict class for better experience.