AuthManager
        
        Back-end authentication manager.
    
    
 class Backend\Classes\AuthManager
extends Winter\Storm\Auth\Manager
implements 
    Illuminate\Contracts\Auth\StatefulGuardExtends
| Class | Description | 
|---|---|
| Manager | Authentication manager | 
Traits
| Trait | Description | 
|---|---|
| Singleton | Singleton trait. | 
Properties
            
            
            
                protected
            
            
            $aliases
            
                :
                                                            array
                                                                        
                        = []
                    
                            
        
        
        List of owner aliases. ['Aliased.Owner' => 'Real.Owner']
            
            
            
                protected
            
            
            $callbacks
            
                :
                                                            array
                                                                        
                        = []
                    
                            
        
        
        Cache of registration callbacks.
            
            
            
                protected
            
            
            $groupModel
            
                :
                                                            mixed
                                                                        
                        = "Backend\\Models\\UserGroup"
                    
                            
        
        
        protected static $instance : mixed
            
            
            
                protected
            
            
            $permissionCache
            
                :
                                                            array
                                                                        
                        = false
                    
                            
        
        
        Cache of registered permissions.
            
            
            
                protected
            
                            
                    static
                
            
            $permissionDefaults
            
                :
                                                            mixed
                                                                        
                        = {"code":null,"label":null,"comment":null,"roles":null,"order":500}
                    
                            
        
        
        
            
            
            
                protected
            
            
            $permissionRoles
            
                :
                                                            array
                                                                        
                        = false
                    
                            
        
        
        List of registered permission roles.
            
            
            
                protected
            
            
            $permissions
            
                :
                                                            array
                                                                        
                        = []
                    
                            
        
        
        List of registered permissions.
            
            
            
                protected
            
            
            $requireActivation
            
                :
                                                            mixed
                                                                        
                        = false
                    
                            
        
        
        
            
            
            
                protected
            
            
            $sessionKey
            
                :
                                                            mixed
                                                                        
                        = "admin_auth"
                    
                            
        
        
        
            
            
            
                protected
            
            
            $throttleModel
            
                :
                                                            mixed
                                                                        
                        = "Backend\\Models\\UserThrottle"
                    
                            
        
        
        
            
            
            
                protected
            
            
            $userModel
            
                :
                                                            mixed
                                                                        
                        = "Backend\\Models\\User"
                    
                            
        
        
        
            
                            
                    inherited
                
            
            
                public
            
            
            $ipAddress
            
                :
                                                            string
                                                                        
                        = "0.0.0.0"
                    
                            
        
                    The IP address of this request
inherited protected $impersonator : Models\User | null
The user that is impersonating the currently logged in user when applicable
inherited protected $sessionManager : Illuminate\Session\SessionManager
Session manager instance.
            
                            
                    inherited
                
            
            
                protected
            
            
            $throttle
            
                :
                                                            array
                                                                        
                        = []
                    
                            
        
                    In memory throttle cache [md5($userId.$ipAddress) => $this->throttleModel]
            
                            
                    inherited
                
            
            
                protected
            
            
            $useSession
            
                :
                                                            bool
                                                                        
                        = true
                    
                            
        
                    Internal flag to toggle using the session for the current authentication request
            
                            
                    inherited
                
            
            
                protected
            
            
            $useThrottle
            
                :
                                                            bool
                                                                        
                        = true
                    
                            
        
                    Flag to enable login throttling
inherited protected $user : Models\User | null
The currently logged in user
            
                            
                    inherited
                
            
            
                protected
            
            
            $viaRemember
            
                :
                                                            bool
                                                                        
                        = false
                    
                            
        
                    Indicates if the user was authenticated via a recaller cookie.
Methods
public hasPermissionsForRole ($role)
| Property | Type | Description | 
|---|---|---|
| $role | mixed | mixed | 
public listPermissions () : array
Returns a list of the registered permissions items.
            
            
            
                public
            
                        
            listPermissionsForRole (string $role, boolean $includeOrphans = true)
                            : array
                    
        
        Returns an array of registered permissions belonging to a given role code
| Property | Type | Description | 
|---|---|---|
| $role | string | string | 
| $includeOrphans | boolean | boolean Include any permissons that do not have a default role specified | 
public listTabbedPermissions () : array
Returns an array of registered permissions, grouped by tabs.
public registerCallback (callable $callback)
Registers a callback function that defines authentication permissions.
The callback function should register permissions by calling the manager's registerPermissions() function. The manager instance is passed to the callback function as an argument. Usage:
BackendAuth::registerCallback(function ($manager) {
    $manager->registerPermissions([...]);
});
| Property | Type | Description | 
|---|---|---|
| $callback | callable | callable A callable function. | 
public registerPermissionOwnerAlias (string $owner, string $alias) : void
Register a permission owner alias
| Property | Type | Description | 
|---|---|---|
| $owner | string | string The owner to register an alias for. Example: Real.Owner | 
| $alias | string | string The alias to register. Example: Aliased.Owner | 
public registerPermissions (string $owner, array $definitions)
Registers the back-end permission items.
The argument is an array of the permissions. The array keys represent the permission codes, specific for the plugin/module. Each element in the array should be an associative array with the following keys:
- label - specifies the menu label localization string key, required.
- order - a position of the item in the menu, optional.
- comment - a brief comment that describes the permission, optional.
- tab - assign this permission to a tabbed group, optional.
| Property | Type | Description | 
|---|---|---|
| $owner | string | string Specifies the permissions' owner plugin or module in the format Author.Plugin | 
| $definitions | array | array An array of the menu item definitions. | 
public removePermission (string $owner, string $code) : void
Removes a single back-end permission
| Property | Type | Description | 
|---|---|---|
| $owner | string | string Specifies the permissions' owner plugin or module in the format Author.Plugin | 
| $code | string | string The code of the permission to remove | 
protected createUserModelQuery ()
{@inheritdoc}
protected init ()
protected validateUserModel ($user)
{@inheritdoc}
| Property | Type | Description | 
|---|---|---|
| $user | mixed | mixed | 
inherited public __clone ()
inherited public __wakeup ()
            
                            
                    inherited
                
            
            
                public
            
                        
            attempt (array $credentials = [], boolean $remember = false)
                            : bool
                    
                    Attempt to authenticate a user using the given credentials.
| Property | Type | Description | 
|---|---|---|
| $credentials | array | array The user login details | 
| $remember | boolean | boolean Store a non-expire cookie for the user | 
If authentication was successful
            
                            
                    inherited
                
            
            
                public
            
                        
            authenticate (array $credentials, boolean $remember = true)
                    
                    Attempts to authenticate the given user according to the passed credentials.
| Property | Type | Description | 
|---|---|---|
| $credentials | array | array The user login details | 
| $remember | boolean | boolean Store a non-expire cookie for the user | 
inherited public check () : bool
Check to see if the user is logged in and activated, and hasn't been banned or suspended.
inherited public createThrottleModel () : Models\Throttle
Creates an instance of the throttle model
inherited public createUserModel () : Models\User
Creates a new instance of the user model
inherited public extendUserQuery (Winter\Storm\Database\Builder $query) : void
Extend the query used for finding the user.
| Property | Type | Description | 
|---|---|---|
| $query | Winter\Storm\Database\Builder | 
inherited public findThrottleByLogin (string $loginName, string $ipAddress) : Models\Throttle
Find a throttle record by login and ip address
| Property | Type | Description | 
|---|---|---|
| $loginName | string | string | 
| $ipAddress | string | string | 
            
                            
                    inherited
                
            
            
                public
            
                        
            findThrottleByUserId (int $userId, string $ipAddress = null)
                            : Models\Throttle
                    
                    Find a throttle record by user id and ip address
| Property | Type | Description | 
|---|---|---|
| $userId | int | int | 
| $ipAddress | string | string | 
inherited public findUserByCredentials (array $credentials) : Models\User
Finds a user by the given credentials.
| Property | Type | Description | 
|---|---|---|
| $credentials | array | array The credentials to find a user by | 
The requested user
inherited public findUserById (string $id) : mixed
Finds a user by the login value.
| Property | Type | Description | 
|---|---|---|
| $id | string | string | 
(Models\User || null)
inherited public findUserByLogin (string $login) : mixed
Finds a user by the login value.
| Property | Type | Description | 
|---|---|---|
| $login | string | string | 
(Models\User || null)
            
                            
                    inherited
                
            
            
                public
            
                            
                    static
                
                                        
                    final
                
            
            forgetInstance ($container = null)
                            : void
                    
                    Forget this singleton's instance if it exists
| Property | Type | Description | 
|---|---|---|
| $container | mixed | mixed | 
inherited public getImpersonator () : Models\User | false
Get the original user doing the impersonation
Returns the User model for the impersonator if able, false if not
inherited public getRealUser () : mixed
Gets the user for the request, taking into account impersonation
(Models\User || null)
inherited public getUser () : mixed
Returns the current user, if any.
(Models\User || null)
inherited public guest () : bool
Determine if the current user is a guest.
inherited public hasUser () : bool
Determine if the guard has a user instance.
inherited public id () : int | null
Get the ID for the currently authenticated user.
inherited public impersonate (Models\User $impersonatee) : void
Impersonates the given user and sets properties in the session but not the cookie.
| Property | Type | Description | 
|---|---|---|
| $impersonatee | Models\User | Models\User | 
            
                            
                    inherited
                
            
            
                public
            
                            
                    static
                
                                        
                    final
                
            
            instance ($container = null)
                            : static
                    
                    Create a new instance of this singleton.
| Property | Type | Description | 
|---|---|---|
| $container | mixed | mixed | 
inherited public isImpersonator () : bool
Check to see if the current session is being impersonated
            
                            
                    inherited
                
            
            
                public
            
                        
            login (Illuminate\Contracts\Auth\Authenticatable $user, boolean $remember = true)
                    
                    Logs in the given user and sets properties in the session.
| Property | Type | Description | 
|---|---|---|
| $user | Illuminate\Contracts\Auth\Authenticatable | Illuminate\Contracts\Auth\Authenticatable | 
| $remember | boolean | boolean | 
            
                            
                    inherited
                
            
            
                public
            
                        
            loginUsingId (mixed $id, boolean $remember = false)
                            : Illuminate\Contracts\Auth\Authenticatable | false
                    
                    Log the given user ID into the application.
| Property | Type | Description | 
|---|---|---|
| $id | mixed | mixed | 
| $remember | boolean | boolean | 
inherited public logout ()
Logs the current user out.
            
                            
                    inherited
                
            
            
                public
            
                        
            once (array $credentials = [])
                            : bool
                    
                    Log a user into the application without sessions or cookies.
| Property | Type | Description | 
|---|---|---|
| $credentials | array | array | 
inherited public onceUsingId (mixed $id) : Illuminate\Contracts\Auth\Authenticatable | false
Log the given user ID into the application without sessions or cookies.
| Property | Type | Description | 
|---|---|---|
| $id | mixed | mixed | 
            
                            
                    inherited
                
            
            
                public
            
                        
            register (array $credentials, boolean $activate = false, boolean $autoLogin = true)
                            : Models\User
                    
                    Registers a user with the provided credentials with optional flags for activating the newly created user and automatically logging them in
| Property | Type | Description | 
|---|---|---|
| $credentials | array | array | 
| $activate | boolean | boolean | 
| $autoLogin | boolean | boolean | 
inherited public setUser (Illuminate\Contracts\Auth\Authenticatable $user)
Sets the user
| Property | Type | Description | 
|---|---|---|
| $user | Illuminate\Contracts\Auth\Authenticatable | Illuminate\Contracts\Auth\Authenticatable | 
inherited public stopImpersonate ()
Stop the current session being impersonated and authenticate as the impersonator again
inherited public user () : Illuminate\Contracts\Auth\Authenticatable | null
Get the currently authenticated user.
            
                            
                    inherited
                
            
            
                public
            
                        
            validate (array $credentials = [])
                            : bool
                    
                    Validate a user's credentials.
| Property | Type | Description | 
|---|---|---|
| $credentials | array | array | 
inherited public viaRemember () : bool
Determine if the user was authenticated via "remember me" cookie.
inherited protected final __construct ()
Constructor.
            
                            
                    inherited
                
            
            
                protected
            
                        
            getPersistCodeFromSession (boolean $logRemember = false)
                            : array | null
                    
                    Returns the user ID and peristence code from the session or remember cookie
| Property | Type | Description | 
|---|---|---|
| $logRemember | boolean | boolean Flag to set $this->viaRemember if the persist code was pulled from the cookie | 
[user_id, persist_code]
            
                            
                    inherited
                
            
            
                protected
            
                        
            setPersistCodeInSession (Models\User $user, boolean $remember = true)
                            : void
                    
                    Stores the user persistence information in the session (and cookie when $remember = true)
| Property | Type | Description | 
|---|---|---|
| $user | Models\User | Models\User | 
| $remember | boolean | boolean | 
            
                            
                    inherited
                
            
            
                protected
            
                        
            validateInternal (array $credentials = [])
                            : Models\User | null
                    
                    Validate a user's credentials, method used internally.
| Property | Type | Description | 
|---|---|---|
| $credentials | array | array |