У меня есть два контроллера SecurityController & UserController
public function login(Request $request, AuthenticationUtils $authenticationUtils)
{
// get the login error if there is one
$error = $authenticationUtils->getLastAuthenticationError();
// last username entered by the user
$lastUsername = $authenticationUtils->getLastUsername();
return $this->render('security/index.html.twig', array(
'last_username' => $lastUsername,
'error' => $error,
));
}
public function register(UserPasswordEncoderInterface $encoder)
{
// whatever *your* User object is
$user = new App\Entity\User();
$plainPassword = 'ryanpass';
$encoded = $encoder->encodePassword($user, $plainPassword);
$user->setPassword($encoded);
}
Пользовательский контроллер
public function editUser(Request $request, User $user, UserPasswordEncoderInterface $encoder): Response
{ $plainPassword = 'ryanpass';
$encoded = $encoder->encodePassword($user, $plainPassword);
$user->setPassword($encoded);
$form = $this->createForm(User1Type::class, $user);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('user_edit', ['id' => $user->getId()]);
}
return $this->render('user/edit.html.twig', [
'user' => $user,
'form' => $form->createView(),
]);
}
Когда я кодирую простой пароль через регистр входа в систему с помощью SecurityController, все работает нормально, и HASH хранится вбаза данных совпадает с паролем.
Но если я попытаюсь обработать этот открытый текст новой строкой, HASH обновляется, но не соответствует предполагаемому простому тексту.
Любая идея будет по-настоящему оценена.