Class BasicAuthenticate
Basic Authentication adapter for AuthComponent.
Provides Basic HTTP authentication support for AuthComponent. Basic Auth will authenticate users against the configured userModel and verify the username and passwords match.
Using Basic auth
In your controller's components array, add auth + the required settings.
public $components = array( 'Auth' => array( 'authenticate' => array('Basic') ) );
You should also set AuthComponent::$sessionKey = false;
in your AppController's beforeFilter() to prevent CakePHP from sending a session cookie to the client.
Since HTTP Basic Authentication is stateless you don't need a login() action in your controller. The user credentials will be checked on each request. If valid credentials are not provided, required authentication headers will be sent by this authentication provider which triggers the login dialog in the browser/client.
You may also want to use $this->Auth->unauthorizedRedirect = false;
. By default, unauthorized users are redirected to the referrer URL, AuthComponent::$loginAction
, or '/'. If unauthorizedRedirect is set to false, a ForbiddenException exception is thrown instead of redirecting.
- BaseAuthenticate implements CakeEventListener
- BasicAuthenticate
Direct Subclasses
Since: 2.0
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Controller/Component/Auth/BasicAuthenticate.php
Inherited Properties
Method Summary
- __construct() publicConstructor, completes configuration for basic authentication.
- authenticate() public
Authenticate a user using HTTP auth. Will use the configured User model and attempt a login using HTTP auth.
- getUser() publicGet a user based on information in the request. Used by cookie-less auth for stateless clients.
- loginHeaders() publicGenerate the login headers
- unauthenticated() publicHandles an unauthenticated access attempt by sending appropriate login headers
Method Detail
__construct()source public
__construct( ComponentCollection $collection , array $settings )
Constructor, completes configuration for basic authentication.
Parameters
-
ComponentCollection
$collection
- The Component collection used on this request.
- array
$settings
- An array of settings.
Overrides
BaseAuthenticate::__construct()
authenticate()source public
authenticate( CakeRequest $request , CakeResponse $response )
Authenticate a user using HTTP auth. Will use the configured User model and attempt a login using HTTP auth.
Parameters
-
CakeRequest
$request
- The request to authenticate with.
-
CakeResponse
$response
- The response to add headers to.
Returns
mixedEither false on failure, or an array of user data on success.
getUser()source public
getUser( CakeRequest $request )
Get a user based on information in the request. Used by cookie-less auth for stateless clients.
Parameters
-
CakeRequest
$request
- Request object.
Returns
mixedEither false or an array of user information
Overrides
BaseAuthenticate::getUser()
loginHeaders()source public
loginHeaders( )
Generate the login headers
Returns
stringHeaders for logging in.
unauthenticated()source public
unauthenticated( CakeRequest $request , CakeResponse $response )
Handles an unauthenticated access attempt by sending appropriate login headers
Parameters
-
CakeRequest
$request
- A request object.
-
CakeResponse
$response
- A response object.
Throws
UnauthorizedException
Overrides
BaseAuthenticate::unauthenticated()
Methods inherited from BaseAuthenticate
_findUser()source protected
_findUser( string|array $username , string $password null )
Find a user record using the standard options.
The $username parameter can be a (string)username or an array containing conditions for Model::find('first'). If the $password param is not provided the password field will be present in returned array.
Input passwords will be hashed even when a user doesn't exist. This helps mitigate timing attacks that are attempting to find valid usernames.
Parameters
- string|array
$username
- The username/identifier, or an array of find conditions.
- string
$password
optional null - The password, only used if $username param is string.
Returns
boolean|arrayEither false on failure, or an array of user data.
_password()source protected
_password( string $password )
Hash the plain text password so that it matches the hashed/encrypted password in the datasource.
Deprecated
3.0.0 Since 2.4. Use a PasswordHasher class instead.Parameters
- string
$password
- The plain text password.
Returns
stringThe hashed form of the password.
implementedEvents()source public
implementedEvents( )
Implemented events
Returns
arrayof events => callbacks.
Implementation of
CakeEventListener::implementedEvents()
logout()source public
logout( array $user )
Allows you to hook into AuthComponent::logout(), and implement specialized logout behavior.
All attached authentication objects will have this method called when a user logs out.
Parameters
- array
$user
- The user about to be logged out.
passwordHasher()source public
passwordHasher( )
Return password hasher object
Returns
AbstractPasswordHasher
Password hasher instance
Throws
CakeException
If password hasher class not found or it does not extend AbstractPasswordHasher
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.10/class-BasicAuthenticate.html