Класс FallbackPasswordHasher
Хэшер паролей, который может использовать несколько различных хэшей, где только один является предпочтительным. Это полезно при попытке мигрировать существующую базу данных пользователей с одного типа паролей на другой.
Краткое описание свойств
- $_config protected
array<string, mixed>Конфигурация выполнения
- $_configInitialized protected
boolУказывает, была ли свойство config уже настроена с параметрами по умолчанию
- $_defaultConfig protected
array<string, mixed>Конфигурация по умолчанию для данного объекта.
- $_hashers protected
arrayCake\Auth\AbstractPasswordHasher>Содержит список объектов хэширования паролей, которые будут использоваться
Краткое описание методов
-
__construct() public
Конструктор
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Читает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
check() public
Проверяет, соответствует ли предоставленный пароль его хешированной версии
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей. В отличие от
config(), который выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние. -
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для этого конкретного ключа.
-
hash() public
Генерирует хэш пароля.
-
needsRehash() public
Возвращает true, если пароль необходимо перехешировать, с первым хэшером, присутствующим в списке хэшеров
-
setConfig() public
Устанавливает конфигурацию.
Подробное описание методов
__construct() public
__construct(array<string, mixed> $config = [])
Конструктор
Параметры
-
array<string, mixed>$config optional Параметры конфигурации для этого объекта. Требуется наличие ключа
hashersв массиве со списком других хэшеров, которые будут использоваться.
_configDelete() protected
_configDelete(string $key): void
Удаляет один ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписать существующую конфигурацию
_configRead() protected
_configRead(string|null $key): mixed
Читает ключ конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
Записывает ключ конфигурации.
Параметры
-
array<string, mixed>|string$key Ключ для записи.
-
mixed$value Значение для записи.
-
string|bool$merge optional True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписать существующую конфигурацию
check() public
check(string $password, string $hashedPassword): bool
Проверяет, соответствует ли предоставленный пароль его хешированной версии
Этот метод будет перебирать все настроенные хэшеры, пока один из них не вернет true.
Параметры
-
string$password Нехешированный пароль в виде простого текста.
-
string$hashedPassword Существующий хешированный пароль.
Возвращает
boolconfigShallow() public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
Объединяет предоставленную конфигурацию с существующей. В отличие от config() , который выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка конкретного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
Возвращает
$thisgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение конкретного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
-
string|null$key optional Ключ для получения или null для всей конфигурации.
-
mixed$default optional Возвращаемое значение, когда ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для этого конкретного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключения
InvalidArgumentExceptionhash() public
hash(string $password): string|false
Генерирует хэш пароля.
Использует первый хэшер паролей в списке для генерации хэша
Параметры
-
string$password Нехешированный пароль в виде простого текста.
Возвращает
string|falseneedsRehash() public
needsRehash(string $password): bool
Возвращает true, если пароль необходимо перехешировать, с первым хэшером, присутствующим в списке хэшеров
Возвращает true по умолчанию, так как единственная реализация, на которую должны полагаться пользователи, — это та, которая предоставляется по умолчанию в php 5.5+ или любой совместимой библиотеке
Параметры
-
string$password Пароль для проверки
Возвращает
boolsetConfig() public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Установка конкретного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
-
bool$merge optional Необходимо ли рекурсивно объединять или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
$thisИсключения
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
Подробное описание свойств
$_config protected
Конфигурация во время выполнения
Тип
array<string, mixed>$_configInitialized protected
Указывает, была ли свойству конфигурации уже задана конфигурация по умолчанию
Тип
bool$_defaultConfig protected
Конфигурация по умолчанию для этого объекта.
Эти значения объединяются с предоставленной пользователем конфигурацией при использовании объекта.
Тип
array<string, mixed>$_hashers protected
Хранит список объектов хэширования паролей, которые будут использоваться
Тип
arrayCake\Auth\AbstractPasswordHasher>
© 2005–present 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/4.3/class-Cake.Auth.FallbackPasswordHasher.html