Spec-Zone.ru › CakePHP 2.7

Класс BasicAuthenticate

Адаптер базовой аутентификации для AuthComponent.

Обеспечивает поддержку базовой HTTP-аутентификации для AuthComponent. Базовая аутентификация будет аутентифицировать пользователей по настроенной модели userModel и проверять соответствие имени пользователя и паролей.

Использование базовой аутентификации

В массиве компонентов вашего контроллера добавьте auth и необходимые настройки.

public $components = array(
        'Auth' => array(
                'authenticate' => array('Basic')
        )
);

Также необходимо установить AuthComponent::$sessionKey = false; в вашем AppController's beforeFilter() для предотвращения отправки CakePHP куки сессии клиенту.

Поскольку HTTP базовая аутентификация бессостоятельна, вам не нужен action login() в вашем контроллере. Данные учетных данных пользователя будут проверяться при каждом запросе. Если не предоставлены действительные учетные данные, этот поставщик аутентификации отправит необходимые заголовки аутентификации, которые вызовут диалог входа в браузере/клиенте.

Вы также можете использовать $this->Auth->unauthorizedRedirect = false;. По умолчанию неавторизованные пользователи перенаправляются на URL-адрес ссылки, AuthComponent::$loginAction, или '/'. Если unauthorizedRedirect установлен в false, вместо перенаправления будет выброшено исключение ForbiddenException.

BaseAuthenticate реализует CakeEventListener
Extended by BasicAuthenticate

Прямые известные подклассы

DigestAuthenticate
Пакет: Cake\Controller\Component\Auth
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
С версии: 2.0
Расположение: Cake/Controller/Component/Auth/BasicAuthenticate.php

Подробное описание методов

__constructsource public

__construct( ComponentCollection $collection , array $settings )

Конструктор, завершает настройку для базовой аутентификации.

Параметры

ComponentCollection $collection
Коллекция компонентов, используемая в этом запросе.
массив $settings
Массив настроек.

Переопределяет

BaseAuthenticate::__construct()

authenticatesource public

authenticate( CakeRequest $request , CakeResponse $response )

Аутентифицирует пользователя с использованием HTTP-аутентификации. Использует настроенную модель User и пытается выполнить вход с использованием HTTP-аутентификации.

Параметры

CakeRequest $request
Запрос для аутентификации.
CakeResponse $response
Ответ для добавления заголовков.

Возвращает

mixed
В случае неудачи возвращает false, в случае успеха - массив данных пользователя.

getUsersource public

getUser( CakeRequest $request )

Получение пользователя на основе информации в запросе. Используется для бесклиентской аутентификации для бессостоятельных клиентов.

Параметры

CakeRequest $request
Объект запроса.

Возвращает

mixed
В случае неудачи false, в случае успеха - массив информации о пользователе.

Переопределяет

BaseAuthenticate::getUser()

loginHeaderssource public

loginHeaders( )

Генерация заголовков входа.

Возвращает

string
Заголовки для входа.

unauthenticatedsource public

unauthenticated( CakeRequest $request , CakeResponse $response )

Обработка неудачной попытки доступа без аутентификации, отправкой соответствующих заголовков входа.

Параметры

CakeRequest $request
Объект запроса.
CakeResponse $response
Объект ответа.

Исключения

UnauthorizedException
UnauthorizedException

Переопределяет

BaseAuthenticate::unauthenticated()

Методы, унаследованные от BaseAuthenticate

_findUsersource protected

_findUser( string|array $username , string $password null )

Поиск записи пользователя с использованием стандартных параметров.

Параметр $username может быть (строкой)именем пользователя или массивом, содержащим условия для Model::find('first'). Если параметр $password не указан, поле password будет присутствовать в возвращаемом массиве.

Вводимые пароли будут хэшированы, даже если пользователь не существует. Это помогает смягчить атаки по времени, которые пытаются найти допустимые имена пользователей.

Параметры

строка|массив $username
Имя пользователя/идентификатор или массив условий поиска.
строка $password необязательно null
Пароль, используется только если параметр $username является строкой.

Возвращает

boolean|array
В случае неудачи возвращает false, в случае успеха - массив данных пользователя.

_passwordsource protected

_password( string $password )

Хеширует простой текст пароля, чтобы он соответствовал хэшированному/зашифрованному паролю в источнике данных.

Устарело

3.0.0 С версии 2.4. Используйте класс PasswordHasher вместо этого.

Параметры

строка $password
Пароль в простом тексте.

Возвращает

string
Хешированная форма пароля.

implementedEventssource public

implementedEvents( )

Реализованные события

Возвращает

array
список событий => обработчиков.

Реализация

CakeEventListener::implementedEvents()

logoutsource public

logout( array $user )

Позволяет подключиться к AuthComponent::logout() и реализовать специализированное поведение выхода.

У всех подключенных объектов аутентификации будет вызван этот метод при выходе пользователя.

Параметры

массив $user
Пользователь, который собирается выйти.

passwordHashersource public

passwordHasher( )

Возвращение объекта хеширования паролей.

Возвращает

AbstractPasswordHasher
Экземпляр хеширования паролей

Исключения

CakeException
Если класс хеширования паролей не найден или он не расширяет AbstractPasswordHasher

Свойства, унаследованные от BaseAuthenticate

$_Collectionsource

protected ComponentCollection

Коллекция компонентов, используемая для получения других компонентов.

$_passwordHashersource

protected AbstractPasswordHasher

Экземпляр хеширования паролей.

$settingssource

public массив

Настройки для этого объекта.

  • fields Поля, используемые для идентификации пользователя.
  • userModel Имя модели пользователя, по умолчанию User.
  • userFields Массив полей для извлечения из модели User, null для извлечения всех. По умолчанию null.
  • scope Дополнительные условия для использования при поиске и аутентификации пользователей, например array('User.is_active' => 1).
  • recursive Значение рекурсивного ключа, передаваемого в find(). По умолчанию 0.
  • contain Дополнительные модели для хранения в сессии.
  • passwordHasher Класс хеширования паролей. Может быть строкой, определяющей имя класса, или массивом, содержащим ключ className, любые другие ключи будут переданы как настройки в класс. По умолчанию 'Simple'.
array(
    'fields' => array(
        'username' => 'username',
        'password' => 'password'
    ),
    'userModel' => 'User',
    'userFields' => null,
    'scope' => array(),
    'recursive' => 0,
    'contain' => null,
    'passwordHasher' => 'Simple'
)

© 2005–2016 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.
http://api.cakephp.org/2.7/class-BasicAuthenticate.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API