Класс AuthComponent
Класс компонента управления аутентификацией
Связывает контроль доступа с аутентификацией пользователя и управлением сессией.
- Объект
-
Компонент -
AuthComponent
Авторские права: 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() связанных объектов аутентификации. Это позволяет правильно функционировать методам аутентификации без состояния.
Возвращает
booleantrue, если пользователь найден, false - если нет.
_isAllowedисходный код protected
_isAllowed( Controller $controller )
Проверяет, доступен ли текущий действие без аутентификации.
Параметры
-
Controller$controller - Ссылка на объект-контроллер, который инициализирует компонент
Возвращает
booleanTrue, если действие доступно без аутентификации, иначе false
_isLoginActionисходный код protected
_isLoginAction( Controller $controller )
Нормализует $loginAction и проверяет, совпадает ли текущий URL запроса с действием входа в систему.
Параметры
-
Controller$controller - Ссылка на объект контроллера.
Возвращает
booleanTrue, если текущее действие — действие входа в систему, иначе false.
_setDefaultsисходный код protected
_setDefaults( )
Попытка получить корректные значения для свойств объекта.
Возвращает
booleanTrue
_unauthenticatedисходный код protected
_unauthenticated( Controller $controller )
Обрабатывает попытку доступа без аутентификации. Сначала вызывается метод unathenticated() последнего аутентификатора в цепочке. Аутентификатор может обработать отправку ответа или перенаправление и вернуть true , чтобы указать, что дальнейшие действия не нужны. Если аутентификатор возвращает null, этот метод перенаправляет пользователя на действие входа в систему. Если это запрос AJAX и задан $ajaxLogin, рендерится элемент; в противном случае возвращается код HTTP 403.
Параметры
-
Controller$controller - Ссылка на объект контроллера.
Возвращает
booleanTrue, если текущее действие — действие входа в систему, иначе false.
_unauthorizedисходный код protected
_unauthorized( Controller $controller )
Обработка попытки несанкционированного доступа
Параметры
-
Controller$controller - Ссылка на объект контроллера
Возвращает
booleanВозвращает false
Исключения
ForbiddenExceptionForbiddenException
См. также
AuthComponent::$unauthorizedRedirectallowисходный код 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-publicconstructAuthenticateисходный код public
constructAuthenticate( )
Загружает настроенные объекты аутентификации.
Возвращает
mixednull при пустом значении authenticate, иначе массив загруженных объектов.
Исключения
CakeExceptionCakeException
constructAuthorizeисходный код public
constructAuthorize( )
Загружает настроенные объекты авторизации.
Возвращает
mixednull при пустой авторизации, иначе загруженные объекты авторизации.
Исключения
CakeExceptionCakeException
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-authorizationflashисходный код 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 - Запрос, для которого требуется аутентификация. Если пусто, будет использован текущий запрос.
Возвращает
booleanTrue, если $user авторизован, иначе false
loggedInисходный код public
loggedIn( )
Проверяет, есть ли данные текущего пользователя в сессии и считается ли он вошедшим в систему.
Устарело
3.0.0 С 2.5. Используйте AuthComponent::user() напрямую.Возвращает
booleantrue, если пользователь вошел в систему, false - в противном случае
loginsource public
login( array $user null )
Вход пользователя.
Если задан $user, данные будут сохранены как данные вошедшего пользователя. Если $user пусто или не указано, запрос будет использован для идентификации пользователя. Если идентификация прошла успешно, запись пользователя запишется в ключ сессии, указанный в AuthComponent::$sessionKey. Вход также изменит идентификатор сессии, чтобы помочь смягчить повторное использование сессий.
Параметры
- массив
$userнеобязательный null - Массив данных пользователя или null для идентификации пользователя с использованием текущего запроса.
Возвращает
booleanTrue при успешном входе, false при ошибке
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#identifying-users-and-logging-them-inlogoutsource public
logout( )
Выход пользователя.
Возвращает действие выхода для перенаправления. Вызывает метод logout() всех объектов авторизации, чтобы они могли выполнить пользовательскую логику выхода. AuthComponent удалит данные сессии, поэтому нет необходимости делать это в объекте авторизации. Выход также обновит идентификатор сессии. Это помогает смягчить проблемы с повторным использованием сессий.
Возвращает
stringAuthComponent::$logoutRedirect
См. также
AuthComponent::$logoutRedirectСсылка
http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#logging-users-outmapActionssource 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-crudauthorizepasswordsource 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 перенаправления при входе.
Возвращает
stringURL перенаправления
redirectUrlsource public
redirectUrl( string|array $url null )
Получить URL, на который должен быть перенаправлен пользователь после входа.
Передайте URL для установки назначения, на которое должен быть перенаправлен пользователь при входе.
Если параметр не передан, получает URL перенаправления проверки подлинности. Возвращаемый URL соответствует следующим правилам:
- Возвращает нормализованный URL из значения сессии Auth.redirect, если оно есть, и для того же домена, на котором работает текущее приложение. - Если значения сессии нет, и есть $loginRedirect, возвращается значение $loginRedirect. - Если сессии нет и нет $loginRedirect, возвращается /.
Параметры
- строка|массив
$urlнеобязательный null - Необязательный URL для записи в качестве URL перенаправления при входе.
Возвращает
stringURL перенаправления
startupsource public
startup( Controller $controller )
Основной метод выполнения. Обрабатывает перенаправление невалидных пользователей и обработку данных формы входа.
Параметры
-
Controller$controller - Ссылка на экземпляр объекта контроллера, который инициализирует компонент
Возвращает
booleanbool
Переопределяет
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::beforeRedirectbeforeRendersource public
beforeRender( Controller $controller )
Вызывается перед Controller::beforeRender(), и перед загрузкой класса представления, и перед Controller::render()
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRender
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRendershutdownsource 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' |
Сводка свойств
Свойства, унаследованные от Component
$_Collectionsource
protected ComponentCollection
Класс коллекции компонентов, используемый для отложенной загрузки компонентов.
$_componentMapsource
protected 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