Spec-Zone.ru › CakePHP 2.7

Класс AuthComponent

Класс компонента управления аутентификацией

Связывает контроль доступа с аутентификацией пользователя и управлением сессией.

Объект
Расширенный Компонент
Расширенный AuthComponent
Пакет: Cake\Controller\Component
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html
Расположение: Cake/Controller/Component/AuthComponent.php

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

_getUserисходный код protected

_getUser( )

Аналогично AuthComponent::user(), за исключением того, что если пользователя в сессии не удается найти, вызываются методы getUser() связанных объектов аутентификации. Это позволяет правильно функционировать методам аутентификации без состояния.

Возвращает

boolean
true, если пользователь найден, false - если нет.

_isAllowedисходный код protected

_isAllowed( Controller $controller )

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

Параметры

Controller $controller
Ссылка на объект-контроллер, который инициализирует компонент

Возвращает

boolean
True, если действие доступно без аутентификации, иначе false

_isLoginActionисходный код protected

_isLoginAction( Controller $controller )

Нормализует $loginAction и проверяет, совпадает ли текущий URL запроса с действием входа в систему.

Параметры

Controller $controller
Ссылка на объект контроллера.

Возвращает

boolean
True, если текущее действие — действие входа в систему, иначе false.

_setDefaultsисходный код protected

_setDefaults( )

Попытка получить корректные значения для свойств объекта.

Возвращает

boolean
True

_unauthenticatedисходный код protected

_unauthenticated( Controller $controller )

Обрабатывает попытку доступа без аутентификации. Сначала вызывается метод unathenticated() последнего аутентификатора в цепочке. Аутентификатор может обработать отправку ответа или перенаправление и вернуть true , чтобы указать, что дальнейшие действия не нужны. Если аутентификатор возвращает null, этот метод перенаправляет пользователя на действие входа в систему. Если это запрос AJAX и задан $ajaxLogin, рендерится элемент; в противном случае возвращается код HTTP 403.

Параметры

Controller $controller
Ссылка на объект контроллера.

Возвращает

boolean
True, если текущее действие — действие входа в систему, иначе false.

_unauthorizedисходный код protected

_unauthorized( Controller $controller )

Обработка попытки несанкционированного доступа

Параметры

Controller $controller
Ссылка на объект контроллера

Возвращает

boolean
Возвращает false

Исключения

ForbiddenException
ForbiddenException

См. также

AuthComponent::$unauthorizedRedirect

allowисходный код public

allow( string|array $action null )

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

Вы можете использовать allow с массивом или переменными.

$this->Auth->allow(array('edit', 'add')); или $this->Auth->allow('edit', 'add'); или $this->Auth->allow(); для разрешения всех действий

Параметры

строка|массив $action необязательно null
Имя действия контроллера или массив действий

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#making-actions-public

constructAuthenticateисходный код public

constructAuthenticate( )

Загружает настроенные объекты аутентификации.

Возвращает

mixed
null при пустом значении authenticate, иначе массив загруженных объектов.

Исключения

CakeException
CakeException

constructAuthorizeисходный код public

constructAuthorize( )

Загружает настроенные объекты авторизации.

Возвращает

mixed
null при пустой авторизации, иначе загруженные объекты авторизации.

Исключения

CakeException
CakeException

denyисходный код public

deny( string|array $action null )

Удаляет элементы из списка разрешенных/не требующих аутентификации действий.

Вы можете использовать deny с массивом или переменными.

$this->Auth->deny(array('edit', 'add')); или $this->Auth->deny('edit', 'add'); или $this->Auth->deny(); для удаления всех элементов из списка разрешенных

Параметры

строка|массив $action необязательно null
Имя действия контроллера или массив действий

См. также

AuthComponent::allow()

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#making-actions-require-authorization

flashисходный код public

flash( string $message )

Устанавливает сообщение flash. Использует компонент Session и значения из AuthComponent::$flash.

Параметры

строка $message
Сообщение для установки.

identifyисходный код public

identify( CakeRequest $request , CakeResponse $response )

Использует настроенные адаптеры аутентификации и пытается идентифицировать пользователя по данным учетных данных, содержащимся в $request.

Параметры

CakeRequest $request
Запрос, содержащий данные аутентификации.
CakeResponse $response
Ответ

Возвращает

array
Данные записи пользователя или false, если пользователя невозможно идентифицировать.

initializeисходный код public

initialize( Controller $controller )

Инициализирует AuthComponent для использования в контроллере.

Параметры

Controller $controller
Ссылка на объект-контроллер, который инициализирует компонент

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

Component::initialize()

isAuthorizedисходный код public

isAuthorized( array $user null , CakeRequest $request null )

Проверяет, авторизован ли предоставленный пользователь для запроса.

Использует настроенные адаптеры авторизации, чтобы проверить, авторизован ли пользователь. Каждый адаптер будет проверен последовательно, если любой из них вернет true, то пользователь будет авторизован для запроса.

Параметры

массив $user необязательно null
Пользователь, авторизация которого проверяется. Если пусто, будет использован пользователь из сессии.
CakeRequest $request необязательно null
Запрос, для которого требуется аутентификация. Если пусто, будет использован текущий запрос.

Возвращает

boolean
True, если $user авторизован, иначе false

loggedInисходный код public

loggedIn( )

Проверяет, есть ли данные текущего пользователя в сессии и считается ли он вошедшим в систему.

Устарело

3.0.0 С 2.5. Используйте AuthComponent::user() напрямую.

Возвращает

boolean
true, если пользователь вошел в систему, false - в противном случае
END_OF_DOCUMENT_MARKER

loginsource public

login( array $user null )

Вход пользователя.

Если задан $user, данные будут сохранены как данные вошедшего пользователя. Если $user пусто или не указано, запрос будет использован для идентификации пользователя. Если идентификация прошла успешно, запись пользователя запишется в ключ сессии, указанный в AuthComponent::$sessionKey. Вход также изменит идентификатор сессии, чтобы помочь смягчить повторное использование сессий.

Параметры

массив $user необязательный null
Массив данных пользователя или null для идентификации пользователя с использованием текущего запроса.

Возвращает

boolean
True при успешном входе, false при ошибке

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#identifying-users-and-logging-them-in

logoutsource public

logout( )

Выход пользователя.

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

Возвращает

string
AuthComponent::$logoutRedirect

См. также

AuthComponent::$logoutRedirect

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#logging-users-out

mapActionssource public

mapActions( array $map array() )

Сопоставление имен действий с операциями CRUD.

Используется для проверки подлинности на основе контроллера. Убедитесь, что вы настроили свойство authorize перед вызовом этого метода. Поскольку он делегирует $map всем подключенным объектам авторизации.

Устарело

3.0.0 Использование сопоставления действий с помощью ключа конфигурации actionMap в объектах authorize вместо

Параметры

массив $map необязательный array()
Действия для сопоставления

См. также

BaseAuthorize::mapActions()

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#mapping-actions-when-using-crudauthorize

passwordsource public static

password( string $password )

Хэширование пароля с использованием значения соли приложения (как определено с помощью Configure::write('Security.salt');

Этот метод предназначен как удобная обёртка для Security::hash(). Если вы хотите использовать систему хеширования/шифрования, не поддерживаемую этим методом, не используйте этот метод.

Устарело

3.0.0 С версии 2.4. Используйте Security::hash() напрямую или объект хэшера паролей.

Параметры

строка $password
Пароль для хеширования

Возвращает

string
Хэшированный пароль

redirectsource public

redirect( string|array $url null )

Обратно совместимый псевдоним для AuthComponent::redirectUrl().

Устарело

3.0.0 С версии 2.3.0, используйте AuthComponent::redirectUrl() вместо

Параметры

строка|массив $url необязательный null
Необязательный URL для записи в качестве URL перенаправления при входе.

Возвращает

string
URL перенаправления

redirectUrlsource public

redirectUrl( string|array $url null )

Получить URL, на который должен быть перенаправлен пользователь после входа.

Передайте URL для установки назначения, на которое должен быть перенаправлен пользователь при входе.

Если параметр не передан, получает URL перенаправления проверки подлинности. Возвращаемый URL соответствует следующим правилам:
- Возвращает нормализованный URL из значения сессии Auth.redirect, если оно есть, и для того же домена, на котором работает текущее приложение. - Если значения сессии нет, и есть $loginRedirect, возвращается значение $loginRedirect. - Если сессии нет и нет $loginRedirect, возвращается /.

Параметры

строка|массив $url необязательный null
Необязательный URL для записи в качестве URL перенаправления при входе.

Возвращает

string
URL перенаправления

startupsource public

startup( Controller $controller )

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

Параметры

Controller $controller
Ссылка на экземпляр объекта контроллера, который инициализирует компонент

Возвращает

boolean
bool

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

Component::startup()

usersource public static

user( string $key null )

Получить текущего пользователя.

Будет отдавать предпочтение кэшу статического пользователя по сравнению с сессиями. Кэш статического пользователя используется в первую очередь для проверки подлинности без состояния. Для проверки подлинности с состоянием будут использоваться куки и сессии.

Параметры

строка $key необязательный null
поле для извлечения. Оставьте null, чтобы получить всю запись пользователя

Возвращает

mixed|null
Запись пользователя. или null, если пользователь не авторизован.

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#accessing-the-logged-in-user

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

__constructsource public

__construct( ComponentCollection $collection , array $settings array() )

Конструктор

Параметры

ComponentCollection $collection
ComponentCollection, который этот компонент может использовать для ленивой загрузки своих компонентов
массив $settings необязательный array()
Массив параметров конфигурации.

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

Object::__construct()

__getsource public

__get( string $name )

Магический метод для ленивой загрузки $components.

Параметры

строка $name
Имя компонента для получения.

Возвращает

mixed
Объект Component или null.

beforeRedirectsource public

beforeRedirect( Controller $controller , string|array $url , integer $status null , boolean $exit true )

Вызывается перед Controller::redirect(). Позволяет заменить URL, на который будет произведено перенаправление, новым URL. Возврат этого метода может быть массивом или строкой.

Если возврат — массив, содержащий ключ 'url'. Вы также можете предоставить следующее:

  • status Код состояния для перенаправления
  • exit Выполнять ли выход после перенаправления.

Если ваш ответ — строка или массив, не содержащий ключа 'url', он будет использован в качестве нового URL для перенаправления.

Параметры

Controller $controller
Контроллер с компонентами для beforeRedirect
строка|массив $url
Строка или массив URL, на который происходит перенаправление.
целое число $status необязательный null
Код состояния перенаправления
логическое значение $exit необязательный true
Выполнить ли выход.

Возвращает

array|null
Массив или null.

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirect

beforeRendersource public

beforeRender( Controller $controller )

Вызывается перед Controller::beforeRender(), и перед загрузкой класса представления, и перед Controller::render()

Параметры

Controller $controller
Контроллер с компонентами для beforeRender

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRender
END_OF_DOCUMENT_MARKER

shutdownsource public

shutdown( Controller $controller )

Вызывается после Controller::render() и перед выводом на браузер.

Параметры

Controller $controller
Контроллер с компонентами для завершения работы

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdown

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

_mergeVarssource protected

_mergeVars( array $properties , string $class , boolean $normalize true )

Объединяет свойства объекта $property со свойствами в определении $class. Значение свойства этого класса будет объединено поверх значения $class'.

Это обеспечивает некоторую DRY-магию, предоставляемую CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.

Параметры

массив $properties
Имя свойств для объединения.
строка $class
Класс для объединения свойств с.
логическое значение $normalize необязательно true
Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.

_setsource protected

_set( array $properties array() )

Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, являющиеся частью объявления класса.

Параметры

массив $properties необязательно array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stopsource protected

_stop( integer|string $status 0 )

Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.

Параметры

целое число/строка $status необязательно 0
См. http://php.net/exit для значений

dispatchMethodsource public

dispatchMethod( string $method , array $params array() )

Вызывает метод этого объекта с заданными параметрами. Предоставляет OO-обёртку для call_user_func_array

Параметры

строка $method
Имя вызываемого метода
массив $params необязательно array()
Список параметров для использования при вызове $method

Возвращает

mixed
Результат вызова метода

logsource public

log( string $msg , integer $type LOG_ERR , null|string|array $scope null )

Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы см. CakeLog::write().

Параметры

строка $msg
Сообщение журнала
целое число $type необязательно LOG_ERR
Константа типа ошибки. Определена в app/Config/core.php.
null|строка|массив $scope необязательно null
Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о разделах журналов см. CakeLog::config().

Возвращает

boolean
Успешность записи в журнал

requestActionsource public

requestAction( string|array $url , array $extra array() )

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

Внутри этого метода используется Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().

Передача данных POST и GET

Данные POST и GET можно смоделировать в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.

Параметры

строка/массив $url
Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
массив $extra необязательно array()
Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также можно использовать для отправки данных GET/POST и именованных/переданных аргументов.

Возвращает

mixed
Булево значение true или false об успехе/неуспехе, или содержимое рендеренного действия, если в $extra установлен 'return'.

toStringsource public

toString( )

Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.

Возвращает

string
Имя этого класса

Сводка констант

string ALL

Константа для 'all'

'all'

Сводка свойств

$_authenticateObjectssource

protected BaseAuthenticate[]

Объекты, которые будут использоваться для проверки аутентификации.

array()

$_authorizeObjectssource

protected BaseAuthorize[]

Объекты, которые будут использоваться для проверки авторизации.

array()

$_methodssource

protected array

Список методов для связанного контроллера.

array()

$_usersource

protected static array

Текущий пользователь, используемый для бессостоятельной аутентификации, когда сессии недоступны.

array()

$ajaxLoginsource

public string

Имя необязательного элемента представления для отображения, когда в Ajax-запросе обнаружена недействительная или истекшая сессия

null

$allowedActionssource

public array

Действия контроллера, для которых проверка пользователя не требуется.

См.

AuthComponent::allow()
array()

$authErrorsource

public string|boolean

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

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#AuthComponent::$authError
null

$authenticatesource

public array

Массив объектов аутентификации для аутентификации пользователей. Вы можете настроить несколько адаптеров, и они будут проверятся последовательно при определении пользователей.

$this->Auth->authenticate = array(
        'Form' => array(
                'userModel' => 'Users.User'
        )
);

Используя имя класса без «Authenticate» в качестве ключа, вы можете передать массив настроек для каждого объекта аутентификации. Кроме того, вы можете определить настройки, которые должны быть установлены для всех объектов аутентификации, используя ключ «all»:

$this->Auth->authenticate = array(
        'all' => array(
                'userModel' => 'Users.User',
                'scope' => array('User.active' => 1)
        ),
        'Form',
        'Basic'
);

Вы также можете использовать AuthComponent::ALL вместо строки 'all'.

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html
array('Form')

$authorizesource

public mixed

Массив объектов авторизации для авторизации пользователей. Вы можете настроить несколько адаптеров, и они будут проверены последовательно при выполнении проверок авторизации.

$this->Auth->authorize = array(
        'Crud' => array(
                'actionPath' => 'controllers/'
        )
);

Используя имя класса без «Authorize» в качестве ключа, вы можете передать массив настроек для каждого объекта авторизации. Кроме того, вы можете определить настройки, которые должны быть установлены для всех объектов авторизации, используя ключ «all»:

$this->Auth->authorize = array(
        'all' => array(
                'actionPath' => 'controllers/'
        ),
        'Crud',
        'CustomAuth'
);

Вы также можете использовать AuthComponent::ALL вместо строки 'all'

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#authorization
false

$componentssource

public array

Другие компоненты, используемые AuthComponent

array('Session', 'Flash', 'RequestHandler')

$flashsource

public array

Настройки для использования, когда Auth необходимо выполнить сообщение всплывающего окна с SessionComponent::setFlash(). Доступные ключи:

  • element - Элемент для использования, по умолчанию 'default'.
  • key - Ключ для использования, по умолчанию 'auth'
  • params - Массив дополнительных параметров для использования, по умолчанию array()
array(
    'element' => 'default',
    'key' => 'auth',
    'params' => array()
)

$loginActionsource

public mixed

URL (определяется как строка или массив) до действия контроллера, обрабатывающего вход в систему. По умолчанию /users/login.

array(
    'controller' => 'users',
    'action' => 'login',
    'plugin' => null
)

$loginRedirectsource

public mixed

Обычно, если пользователь перенаправляется на страницу $loginAction, местоположение, с которого он был перенаправлен, будет сохранено в сессии, чтобы после успешного входа в систему он мог быть перенаправлен обратно. Если это значение сессии не установлено, метод redirectUrl() вернёт URL, указанный в $loginRedirect.

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#AuthComponent::$loginRedirect
null

$logoutRedirectsource

public mixed

Действие по умолчанию для перенаправления после выхода пользователя из системы. Хотя AuthComponent не обрабатывает перенаправление после выхода, URL перенаправления будет возвращён из AuthComponent::logout(). По умолчанию AuthComponent::$loginAction.

См.

AuthComponent::$loginAction
AuthComponent::logout()
null

$requestsource

public CakeRequest

Объект запроса

$responsesource

public CakeResponse

Объект ответа

$sessionKeysource

public static string

Имя ключа сессии, где хранится запись текущего пользователя. Ключ по умолчанию — "Auth.User". Если вы используете только бессостоятельные аутентификаторы, установите это значение в false, чтобы убедиться, что сессия не запущена.

'Auth.User'

$unauthorizedRedirectsource

public mixed

Управление обработкой несанкционированного доступа.

  • По умолчанию несанкционированный пользователь перенаправляется на URL-адрес предшественника или AuthComponent::$loginRedirect или '/'.
  • Если установлено значение строки или массива, это значение используется в качестве URL для перенаправления.
  • Если установлено значение false, вместо перенаправления генерируется исключение ForbiddenException.
true

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

$_Collectionsource

protected ComponentCollection

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

$_componentMapsource

protected array

Таблица поиска компонентов, используемая для отложенной загрузки объектов компонентов.

array()

$settingssource

public array

Настройки для этого компонента

array()

© 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-AuthComponent.html

Spec-Zone.ru

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