我正在阅读各种文件的FOSUserbundle,他们在UserManager中使用此功能
public function loadUserByUsername($username)
{
$user = $this->findUserByUsername($username);
if (!$user) {
throw new UsernameNotFoundException(sprintf('No user with name "%s" was found.', $username));
}
return $user;
}
public function findUserBy(array $criteria)
{
return $this->repository->findOneBy($criteria);
}
现在这两个函数都在UserManager.php
中,但它们只根据密码或电子邮件返回用户。我找不到任何密码匹配的代码。
是由symfony还是FOSUserBundle
完成的答案 0 :(得分:2)
FOSUserBundle实际上是具有用户管理功能的用户提供商。密码匹配是在Symfony的核心安全组件内完成的。请参阅here。
答案 1 :(得分:0)
密码匹配由Validator / PasswordValidator.php中的FOSUserBundle完成