Это, как я установил свой пароль:Hashed пароль и createQueryBuilder()
$member->setPassword(password_hash($_POST['pw1'], PASSWORD_DEFAULT));
Чтобы проверить, если пароль правильный, я могу просто использовать этот код:
if(password_verify($password, $hashed_pw)) { // $hashed_pw is not set, since this is just an example
// Do something here
}
До сих пор все хорошо.
Проблема
Я строй запроса с помощью этого метода:
private function getData($username, $password) {
// Getting the data
$query = $this->getDoctrine()->getRepository('AppBundle:Members')
->createQueryBuilder('t')
->where('t.email = :email')
->andWhere('t.password = :password')
->setParameter('email', $username)
->setParameter('password', $password)
->getQuery();
$result = $query->getResult();
// Get the name
$name = $result[0]->getName();
// Check if query exists
$result = ($result) ? $name : false;
return $result;
}
Все будет просто отлично работает, если пароль не хэшированное. Ну, в моем случае пароли хэшированы, и я понятия не имею, как я могу это преодолеть.
Я полностью смущен, любая помощь будет очень признательна!
Как вы используете Symfony, рассмотрели ли вы использование инструментов, предоставляемых каркасом? https://symfony.com/doc/current/security/entity_provider.html – lxg