#symfony4
#symfony4
Вопрос:
Я использовал следующие строки кода для создания пользователя.
$newUser = new User();
$plainPassword = 'test';
$hashPassword = $this->passwordEncoder->encodePassword($newUser, $plainPassword);
$newUser->setUserName($filterArray['username']);
$newUser->setPassword($hashPassword);
$newUser->setCreatedDatetime();
$newUser->setStatus('active');
$this->entityManager->persist($newUser);
$this->entityManager->flush();
Теперь, когда я пытаюсь войти в систему
$this->passwordEncoder->isPasswordValid($user, $credentials->getPassword())
Эта строка всегда возвращается false
. Здесь $user
выводит
AppEntityUser {#592
-id: 1
-loginName: "test"
-loginPassword: "$2y$13$S5nEPTFznoemyO1.WsBxl.beyGL4i1YuwteDx7GDtzP"
-createdDatetime: DateTime @1602489653 {#596
date: 2020-10-12 10:00:53.0 Europe/Berlin ( 02:00)
}
-status: "active"
}
Кто-нибудь может мне помочь в этом.
Комментарии:
1. Что
passwordEncoder
? ЭкземплярPasswordEncoder
илиUserPasswordEncoder
? Иcredentials
содержит простой пароль?2. Его
UserPasswordEncoder
3. Все кажется правильным с точки зрения кода, при условии, что учетные данные совпадают. Ваш пользователь возвращает a
salt
или у вас есть определенный алгоритм, установленный в вашей конфигурации?