これは私が自分のパスワードを設定する方法である:ハッシュされたパスワードと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