Тип данных пароля Pimcore в классе - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь использовать тип данных пароля Pimcore. Он работает нормально, и пароль хранится в зашифрованном виде.

Теперь мне нужно проверить правильность имени пользователя и пароля. Я не смог сопоставить зашифрованный пароль. Я хочу получить имя пользователя и пароль, используя запрос API. Если имя пользователя и пароль верны, верните значение.

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Вот пример:

$user = User::GetByEmail($email, ['limit' => 1, 'unpublished' => false]);
$classDefinition = ClassDefinition::getById(User::classId());
/** @var \Pimcore\Model\DataObject\ClassDefinition\Data\Password $passwordFieldDefinition */
$passwordFieldDefinition = $classDefinition->getFieldDefinition('password');
$verified = $passwordFieldDefinition->verifyPassword($password, $user, false);
0 голосов
/ 16 января 2020

Пароль хешируется до его сохранения в базе данных. Посмотрите на класс пароля в этом пути:

pimcore / models / DataObject / ClassDefinition / Data / Password. php

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

Внимательно рассмотрите функции calculateHash() и verifyPassword() в классе. С помощью этих функций вы сможете сравнивать пароли.

...