【发布时间】:2019-09-11 14:49:24
【问题描述】:
我正在为现有的 oracle 数据库实现一个用户界面,其中用户表和密码存储为 sha256 哈希值。但是验证器显示密码错误。
配置:
security:
encoders:
App\Entity\User:
algorithm: sha256
验证器功能:
public function checkCredentials($credentials, UserInterface $user)
{
return $this->passwordEncoder->isPasswordValid($user, $credentials['password']); // -> False
return hash_equals(hash('sha256', $credentials['password']), $user->getPassword()); // -> True
}
如上所述,如果我使用 hash_equals 手动检查密码,它可以工作。 有人可以帮忙吗?我认为可能是配置错误。
【问题讨论】:
-
也许this post 可以帮忙?
-
嗨 Magnus,它没有帮助,但下面 Alex 的回答是正确的方法。
标签: php symfony authentication