CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (GitHub)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • Slack
    • Paid Support
CakePHP

C CakePHP 2.5 API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 2.5
      • 4.2
      • 4.1
      • 4.0
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Packages

  • Cake
    • Cache
      • Engine
    • Configure
    • Console
      • Command
        • Task
    • Controller
      • Component
        • Acl
        • Auth
    • Core
    • Error
    • Event
    • I18n
    • Log
      • Engine
    • Model
      • Behavior
      • Datasource
        • Database
        • Session
      • Validator
    • Network
      • Email
      • Http
    • Routing
      • Filter
      • Route
    • TestSuite
      • Coverage
      • Fixture
      • Reporter
    • Utility
    • View
      • Helper

Classes

  • AbstractPasswordHasher
  • ActionsAuthorize
  • BaseAuthenticate
  • BaseAuthorize
  • BasicAuthenticate
  • BlowfishAuthenticate
  • BlowfishPasswordHasher
  • ControllerAuthorize
  • CrudAuthorize
  • DigestAuthenticate
  • FormAuthenticate
  • SimplePasswordHasher

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
Extended by BasicAuthenticate
Direct Subclasses
  • DigestAuthenticate
Package: Cake\Controller\Component\Auth
Since: 2.0
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Location: Cake/Controller/Component/Auth/BasicAuthenticate.php

Inherited Properties

  • _Collection, _passwordHasher, settings

Method Summary

  • __construct() public
    Constructor, 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() public
    Get a user based on information in the request. Used by cookie-less auth for stateless clients.
  • loginHeaders() public
    Generate the login headers
  • unauthenticated() public
    Handles an unauthenticated access attempt by sending appropriate login headers

Method Detail

__construct() 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() 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
mixed
Either false on failure, or an array of user data on success.

getUser() 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
mixed
Either false or an array of user information
Overrides
BaseAuthenticate::getUser()

loginHeaders() public ¶

loginHeaders( )

Generate the login headers

Returns
string
Headers for logging in.

unauthenticated() 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() 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|array
Either false on failure, or an array of user data.

_password() protected deprecated ¶

_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
string
The hashed form of the password.

logout() 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() 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


OpenHub
Rackspace
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (GitHub)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • Slack
  • Paid Support

Generated using CakePHP API Docs