Как FOSUserBundle сопоставляет пароль из базы данных в symfony2 Doctrine

Я читал различные файлы 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?


person Mirage    schedule 27.07.2012    source источник


Ответы (2)


FOSUserBundle на самом деле является поставщиком пользователей с функциями управления пользователями. Сопоставление паролей выполняется внутри основного компонента безопасности Symfony. См. здесь< /а>.

person Mun Mun Das    schedule 27.07.2012

Сопоставление паролей выполняется FOSUserBundle в Validator/PasswordValidator.php.

person fkoessler    schedule 27.07.2012
comment
это класс определения, но я хочу увидеть, где он вызывает эту функцию isValid() - person Mirage; 27.07.2012